为小程序创建if语句

时间:2014-12-18 20:16:46

标签: java if-statement conditional-statements

我目前正在努力学习我的第一个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: ");


}

3 个答案:

答案 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中。根据条件显示消息