Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 如何检查int[]是否有特定的数字_Java_Arrays_Loops - Fatal编程技术网

Java 如何检查int[]是否有特定的数字

Java 如何检查int[]是否有特定的数字,java,arrays,loops,Java,Arrays,Loops,当int接收到一个负数时,我试图使代码进入break 这是我的密码: package merge.arrays; import java.util.ArrayList; import java.util.Scanner; public class MergeArrays { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>();

int
接收到一个负数时,我试图使代码进入
break

这是我的密码:

package merge.arrays;

import java.util.ArrayList;
import java.util.Scanner;

public class MergeArrays {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Scanner input = new Scanner(System.in);

        System.out.println("Enter the value for the 1st array (0-10000), and enter a negative number to quit:");
        int array1 = input.nextInt();
        while (array1 >= -1) {
            for (int i = 0; i < 10000; i++) {
                array1 = array1 + input.nextInt();
                if (array1 <= -1) {
                    break;
                }
            }
        }

        System.out.println("Enter the value for the 2nd array (0-10000), and enter a negative number to quit:");
        int array2 = input.nextInt();
        while (array2 >= -1) {
            for (int i = 0; i < 10000; i++) {
                array2 = array2 + input.nextInt();
                if (array2 <= -1) {
                    break;
                }
            }
        }

        System.out.println("1st array:\n" + array1);
        System.out.println("2nd arrat:\n" + array2);
    }
}
package merge.array;
导入java.util.ArrayList;
导入java.util.Scanner;
公共类合并数组{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入第一个数组(0-10000)的值,然后输入要退出的负数:”;
int array1=input.nextInt();
而(数组1>=-1){
对于(int i=0;i<10000;i++){
array1=array1+input.nextInt();
如果(数组1=-1){
对于(int i=0;i<10000;i++){
array2=array2+input.nextInt();

如果(array2查看您的问题,则存在以下问题:

  • 我不知道ArrayList的用途是什么,因为您没有在任何地方使用它
  • 您的问题提到了数组int[],但您根本没有使用数组
  • 您要求用户输入,然后在while循环中,您说的是
    while(array1>=-1)
    ,这与您的问题的目的相矛盾,即当提供负值时,您希望中断该问题
  • 假设您的第一个输入不是负的,在循环中,当您从用户处获得输入时,您正在添加该输入的值,然后检查它是负的还是正的,而不是先检查输入,然后将其添加到上一个值
  • 阅读您的问题,我了解到当您检测到输入为负值时,您希望停止向用户请求输入。如果这是目的,则您需要在代码中进行以下修改:

    while (array1 >= 0){
        for(int i = 0; i < 10000; i++){
            //get user input in temp
            int temp = input.nextInt(); 
    
            if(temp < 0) {
                //user provided negative value, so break from loop
              break;
            } else {
              array1 = array1 + temp;
            }
        }
    }
    
    while(数组1>=0){
    对于(int i=0;i<10000;i++){
    //在temp中获取用户输入
    int temp=input.nextInt();
    如果(温度<0){
    //用户提供了负值,所以从循环中中断
    打破
    }否则{
    阵列1=阵列1+温度;
    }
    }
    }
    
    对这两个while循环进行上述更改,您应该都很好。

    您的代码:

        int array1;
        array1 = input.nextInt();
    
        while (array1 >= -1)   // why this outer loop 
        {
            for(int i = 0; i < 10000; i++) {
                array1 = array1 + input.nextInt();  //You are adding previous values with new values, how it will determine if entered a negative number.
                if(array1 <= -1) {
                    break;
                }
            }
        }
    

    您已声明ArrayList但未使用它。您的意思是要检查int[]但是,您根本没有使用数组。如果在输入中发现负数,是否要停止向用户请求输入?命名变量
    array1
    array2
    不会使其成为数组。主持人,您可以删除此项吗?反正我是问题的创建者。
    int array1;
    for(int I=0;i<10000;i++)
    {
       int temp = input.nextInt();
       if(temp < 0)
       {
         break;
       }
       array1 = array1+temp;
    }