gpt4 book ai didi

java - 如何输入字符作为输入以跳出寻找整数的循环?

转载 作者:行者123 更新时间:2023-12-02 10:35:10 25 4
gpt4 key购买 nike

我有这个程序,它从输入文件中读取数字,然后要求用户输入数字。然后程序读取文件中的所有数字,如果输入的数字在文件中,则程序打印回“数字在文件中”,如果输入的数字不在文件中,则程序打印回“数字不在文件中”。在文件中。”如果用户输入 'q',我还需要让它能够退出程序,但我不确定如何做到这一点,因为看到的是 'q' > 是一个 char,程序正在寻找 int 的输入。我确实创建了一个变量 char quit = 'q',但我不确定在哪里使用它,如果这是正确的开始方式。

package classwork7_2;
import java.util.*;
import java.io.*;

public class ClassWork7_2 {

public static void main(String[] args)throws IOException {

Scanner s = new Scanner(System.in);

int[] numbers = fileToArray();
Arrays.sort(numbers);
char quit = 'q';


while (true) {
System.out.print("Enter a number in the file: ");
int numb = s.nextInt();
int i = Arrays.binarySearch(numbers, numb);
if (i < 0) {
System.out.print("Number is not in file\n");
} else {
System.out.print("Number is in file\n");

}
}


}

public static int[] fileToArray() throws IOException{

Scanner s = new Scanner(System.in);
int[] array = new int[7];

System.out.print("Enter name of file: ");
String filename = s.nextLine();

File f = new File(filename);
Scanner inputFile = new Scanner(f);
int i = 0;

while(inputFile.hasNext()){

array[i] = inputFile.nextInt();
i++;
}
inputFile.close();
return array;
}
}

最佳答案

您可以像下面这样更改 while 循环:

这里,不是读取 nextInt,而是读取 string 并在不是 q 时转换为 int

while (true) {

System.out.print("Enter a number in the file: ");
String ln = s.nextLine();
if("q".equals(ln)) {
break;//exiting as user entered "q"
}
int numb = Integer.parseInt(ln);
int i = Arrays.binarySearch(numbers, numb);
if (i < 0) {
System.out.print("Number is not in file\n");
} else {
System.out.print("Number is in file\n");

}

}

关于java - 如何输入字符作为输入以跳出寻找整数的循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53349036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com