【问题标题】:Search an Array for a user input在数组中搜索用户输入
【发布时间】:2016-08-29 17:36:56
【问题描述】:

我正在努力完成一项任务。我必须用 Java 编写一个程序,在数组 size100 中生成随机数,然后向用户询问 1 到 100 之间的数字。如果该数字在数组中,则显示该数字是在什么位置找到的。如果不是,它会反击没有找到任何号码。到目前为止,我只能让它回击没有找到该号码。它会打印 4 次。

包装实验室1;

导入 java.util.Random; 导入 java.util.Scanner;

public class RandomArray {
public static void main(String[] args) {
    int [] randomArray = new int [100];
    Random randomGenerator = new Random();

for (int i = 0; i< randomArray.length; i++){
    randomArray[i] = randomGenerator.nextInt(100);

}
Scanner input = new Scanner (System.in);
int searchNumber;
System.out.println("Please enter a number to search for between 1 and 100: ");
searchNumber= input.nextInt();



        boolean found = false;
        for (int i = 0; i < randomArray.length; i++){
            if (searchNumber == randomArray[i]){
                found = true;
                break;

            }

        if (found){
            System.out.println("We have found your" + "number at index " + i);
        }else{
                System.out.println("We did not find your number");
            }
        }
    }


}

【问题讨论】:

  • 将您的if/else 条件移到外部并在foundfor 循环之后。如果你的缩进是正确的,你会更容易发现这些错误。
  • 非常感谢您的帮助,我只是没有触及学习这个的皮毛,这对我来说都是全新的。

标签: java arrays eclipse search random


【解决方案1】:

if 循环内的 if 语句。所以每次searchNumber == randomArray[i] 都是false you checkif (found). It leads to else branch which print"We didn't find your number"`。

PS:了解如何使用调试器。它极大地简化了您的生活。

【讨论】:

    【解决方案2】:

    你忘记了这种情况,如果有两个以上的相同数字的位置,因为它只是生成随机数。 这个怎么样:

    boolean found = false;
        for (int i=0; i < randomArray.length; i++) {
            if (searchNumber == randomArray[i]) {
                found = true;
                System.out.println("We have found your number at index " + i);
            }
        }
    
        if (!found) {
           System.out.println("We did not find your number");
        } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      • 2015-12-17
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多