Java要求两个数字而不是1

Java要求两个数字而不是1,java,Java,这个程序致力于分离负整数、奇数整数和偶数整数。编译时,它要求用户输入2个数字,而不是1个,然后中断。我如何从要求2个数字中解决它 import java.util.Scanner; import java.util.Arrays; public class Integer{ public static void main(String [] args){ Scanner reader = new Scanner (System.in); double number;

这个程序致力于分离负整数、奇数整数和偶数整数。编译时,它要求用户输入2个数字,而不是1个,然后中断。我如何从要求2个数字中解决它

import java.util.Scanner;
import java.util.Arrays;

public class Integer{
public static void main(String [] args){
    Scanner reader = new Scanner (System.in);

    double number;  
    int count = 0;
    double [] evenList = new double[count];
    double [] oddList = new double[count];
    double [] negativeList = new double[count];

    for (int i = 0; i < 10; i++){
        System.out.println("Please enter an integer: ");
        number = reader.nextDouble();
        count++; 

        if (number < 0) {
            negativeList[i] = reader.nextDouble();
        }
        if (number % 2 == 0) {
            evenList[i] = reader.nextDouble();
        } else {
            oddList[i] = reader.nextDouble();
        }     
    }

    System.out.println("Negatives: " + Arrays.toString(negativeList));
    System.out.println("Odds: " + Arrays.toString(oddList));
    System.out.println("Evens: " + Arrays.toString(evenList));
}
}
import java.util.Scanner;
导入java.util.array;
公共类整数{
公共静态void main(字符串[]args){
扫描仪阅读器=新扫描仪(System.in);
双数;
整数计数=0;
double[]evenList=新的double[计数];
double[]oddList=新的double[计数];
double[]negativeList=新的double[计数];
对于(int i=0;i<10;i++){
System.out.println(“请输入一个整数:”);
number=reader.nextDouble();
计数++;
如果(数字<0){
negativeList[i]=reader.nextDouble();
}
如果(数字%2==0){
evenList[i]=reader.nextDouble();
}否则{
oddList[i]=reader.nextDouble();
}     
}
System.out.println(“Negatives:+Arrays.toString(negativeList));
System.out.println(“赔率:+Arrays.toString(oddList));
System.out.println(“Evens:+Arrays.toString(evenList));
}
}

如果块中有数据,则再次从
内的扫描仪读取数据。改用
编号

    if (number < 0) {
        negativeList[i] = number;
    }
    if (number % 2 == 0) {
        evenList[i] = number;
    } else {
        oddList[i] = number;
    }    
if(数字<0){
否定列表[i]=数字;
}
如果(数字%2==0){
evenList[i]=编号;
}否则{
oddList[i]=编号;
}    
您可能需要:

number = reader.nextDouble(); // read the number using Scanner once
count++; 

// use it to futher to add to respective arrays
if (number < 0) {
    negativeList[i] = number;
}
if (number % 2 == 0) {
    evenList[i] = number;
} else {
    oddList[i] = number;
}
number=reader.nextDouble();//使用扫描仪读取一次号码
计数++;
//使用它进一步添加到各自的阵列
如果(数字<0){
否定列表[i]=数字;
}
如果(数字%2==0){
evenList[i]=编号;
}否则{
oddList[i]=编号;
}
更改此选项:

if ( number < 0 ) {
    negativeList [ i ] = reader . nextDouble ( ) ;
}

if ( number % 2 == 0 ) {
    evenList [ i ] = reader . nextDouble ( ) ;
} 
else {
    oddList [ i ] = reader . nextDouble ( ) ;
}  
if(数字<0){
negativeList[i]=reader.nextDouble();
}
如果(数字%2==0){
evenList[i]=reader.nextDouble();
} 
否则{
oddList[i]=reader.nextDouble();
}  
为此:

if ( number < 0 ) {
    negativeList [ i ] = number ;
}

if ( number % 2 == 0 ) {
    evenList [ i ] = number ;
} 
else {
    oddList [ i ] = number ;
} 
if(数字<0){
否定列表[i]=数字;
}
如果(数字%2==0){
evenList[i]=编号;
} 
否则{
oddList[i]=编号;
} 

我看到了一个代码路径,它确实可以保证请求两个数字。您总是要求一个号码,但如果您之前输入的号码是偶数或奇数,您将要求另一个号码。你想用
number
变量做什么?你想用
negativeList[i]
evenList[i]
oddList[i]
填充什么?你应该把
number
变量中的值放到你的任何列表中,而不是使用
reader.nextDouble()
第二次在循环中。我希望数组中填充数字,然后在负数、偶数、,概率是sortedit给我一个arrayoutofbendsexception 0当使用下面的解决方案输入第一个整数时它给我一个数组断点你需要初始化
count
到某个>0的值,你不能在这样的循环中增加数组大小。像这样放置
int count=10