我目前正在努力学习我的第一个java程序。
问题的任务是创建一个程序,提示用户输入5个数字并将它们存储在一个数组中。然后打印阵列,完成后,程序会提示用户输入要搜索的号码。根据程序应打印的数字"(显示号码)在列表中"或"(显示号码)不在列表中#34;
我一直在努力解决这个问题已经有一段时间了,现在还没有完全理解条件任务。
以下是我的代码:
public class NewClass {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
// Enter three numbers
System.out.print("Enter five numbers: ");
int number1 = input.nextInt();
int number2 = input.nextInt();
int number3 = input.nextInt();
int number4 = input.nextInt();
int number5 = input.nextInt();
System.out.println("The sorted numbers are "
+ number1 + ", " + number2 + ", " + number3 + ", " + number4 + ", " + number5);
System.out.println("Enter a number to search: ");
}
答案 0 :(得分:1)
我添加了评论来记录代码正在做什么。这应该有助于你掌握这个概念。
public class NewClass {
public static void main(String[] args) {
Scanner input = new Scanner(System. in );
//Create an array of integers to store user input
int[] userNumbers = new int[5];
System.out.print("Enter " userNumbers.length + " numbers: ");
//Goes into a loop, and sets each array index to the user inputted integer
for (int i = 0; i < userNumbers.length; i++) {
userNumbers[i] = input.nextInt();
}
System.out.println("Enter a number you would like to search for");
boolean exists = false;
int numToSearch = input.nextInt();
//for each number in the user numbers array, check to see if that number matches the number to search. If so, set exists = true and break out of the loop to check no further.
for (int num: userNumbers) {
if (numToSearch == num) {
exists = true;
break;
}
}
//if else to decide which output to show the user.
if (exists) {
System.out.println(numToSearch + " is in the list");
} else {
System.out.println(numToSearch + " is not in the list");
}
}
}
答案 1 :(得分:-1)
首先,不要将数字存储在单个变量中,而是将它们存储在数组中。 接下来你要做的就是使用 boolean tmp = false; int search = input.nextInt(); 这将为您提供用户搜索的号码。 当你拥有它时(程序将在指令处等待直到输入),你循环遍历数组,并在每次迭代中将它与给定数字进行比较。你这样做是通过使用 if(array [i] == search){ tmp = true} 我是你的迭代变量。 在for循环结束后,如果您在某处,根据tmp变量的状态打印该数字存在或不存在,您将执行另一个操作。 很抱歉简短的解释。
答案 2 :(得分:-2)
尝试以下....
public class NewClass {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
List<Integer> integers = new ArrayList<Integer>();
// Enter three numbers
System.out.print("Enter five numbers: ");
int number1 = input.nextInt();
int number2 = input.nextInt();
int number3 = input.nextInt();
int number4 = input.nextInt();
int number5 = input.nextInt();
integers.add(number1);
integers.add(number2);
integers.add(number3);
integers.add(number4);
integers.add(number5);
System.out.println("The sorted numbers are "
+integers);
System.out.println("Enter a number to search: ");
int searchNum = input.nextInt();
if(integers.contains(seacrchNum)){
System.out.println(searchNum+" is on the list");
}else{
System.out.println(searchNum+" is not on the list");
}
}
解释:
将所有输入的数字放入数组列表中,然后提示输入搜索号。并检查搜索号是否在ArrayLists中。根据条件显示消息