Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修改程序以要求我替换数组中输入的给定数字,因为它不在所需范围内_Java_Arrays - Fatal编程技术网

Java 如何修改程序以要求我替换数组中输入的给定数字,因为它不在所需范围内

Java 如何修改程序以要求我替换数组中输入的给定数字,因为它不在所需范围内,java,arrays,Java,Arrays,我正在编写一个java程序,我希望用户输入10到100之间的5个数字,如果用户输入任何小于10或大于100的数字,或者一个重复的数字,它应该要求我输入一个数字来替换它,但是我的程序只放了一个零(0)。因此,如果我放了任何重复的数字,我的程序只会将其作为零存储在数组中,我想让它问我要用什么号码替换它,然后存储新号码 以下是我的一段代码: while (wahala < thearray.length) { System.out.print("Enter t

我正在编写一个java程序,我希望用户输入10到100之间的5个数字,如果用户输入任何小于10或大于100的数字,或者一个重复的数字,它应该要求我输入一个数字来替换它,但是我的程序只放了一个零(0)。因此,如果我放了任何重复的数字,我的程序只会将其作为零存储在数组中,我想让它问我要用什么号码替换它,然后存储新号码

以下是我的一段代码:

 while (wahala < thearray.length) 
      {
          System.out.print("Enter the number you want: ");

           for (int w=0; w<5; w++)
           {
             value=input.nextInt();

          if (value>=10 && value<=100) 
          {

               boolean containsNumber = false;

               wahala++; 

                for(int j=0; j<thearray.length; j++)
                {
                    if (array[j]==value)
                    {
                        containsNumber=true;
                        break;
                    }

                }

                if (!containsNumber) 
                {

                    array[w]=value;
                    count++;
                } 
                else 
                    System.out.printf("%d has already been entered\n", value);
            } 
            else 
                System.out.println("Number must be between 10 and 100");
            }  

                for (int element: array)
                {
                  System.out.println(element +"");
                }
        }
while(wahala对于(int w=0;w=10&&value示例代码中没有任何地方提示用户输入新的数字。
此外,如果数组必须避免重复,请考虑使用SET,这样您就可以快速检查是否已经输入了副本。
Ex(Java 10):

private final int maxValues=5;
私有int输入;
var intSet=new HashSet();
while(intSet.size()<5&&askeandreceivedinput())
if(intSet.contains(…一些输入))
//再问
其他的
put(someInput);
您可以根据需要设置输入读取功能


另外,请注意,您在数组中找到了零,因为java在创建数组时使用了零。这是默认值,这由语言规范保证。

在示例代码中,您没有提示用户输入新的数字。 此外,如果数组必须避免重复,请考虑使用SET,这样您就可以快速检查是否已经输入了副本。 Ex(Java 10):

private final int maxValues=5;
私有int输入;
var intSet=new HashSet();
while(intSet.size()<5&&askeandreceivedinput())
if(intSet.contains(…一些输入))
//再问
其他的
put(someInput);
您可以根据需要设置输入读取功能

另外请注意,您在数组中找到了零,因为这是java在创建数组时填充的值。这是默认值,这由语言规范保证

private final int maxValues = 5;
private int input;

var intSet = new HashSet<Integer>();

while(intSet.size() < 5 && askedAndReceivedInput())
   if(intSet.contains(..some input))
     //ask again
   else
      intSet.put(someInput);