Java 如何创建一个程序,允许用户决定扫描仪输入的数量,然后将扫描仪分成正数和负数数组?

Java 如何创建一个程序,允许用户决定扫描仪输入的数量,然后将扫描仪分成正数和负数数组?,java,arrays,Java,Arrays,我正在使用for循环,我不知道如何在其中添加更多的数字,因为如果我将array命令保留在for循环中,它每次都会使用不同的扫描仪来定义它。对于错误的解释,我深表歉意 扫描仪编号=新扫描仪(System.in) 那句话。。。这根本没用 您已经定义了一个有效的扫描仪,名称为n 你只应: 使用更有意义的名称,如scannerForUserInput,而不是n 然后,每当您想从uer中读取数据时,就使用该实例 没有必要为每个新的输入数据定义一个新的扫描仪。首先:每个输入源使用一个扫描仪,所以这里只使

我正在使用for循环,我不知道如何在其中添加更多的数字,因为如果我将array命令保留在for循环中,它每次都会使用不同的扫描仪来定义它。对于错误的解释,我深表歉意

扫描仪编号=新扫描仪(System.in)

那句话。。。这根本没用

您已经定义了一个有效的扫描仪,名称为
n

你只应:

  • 使用更有意义的名称,如
    scannerForUserInput
    ,而不是
    n
  • 然后,每当您想从uer中读取数据时,就使用实例

没有必要为每个新的输入数据定义一个新的扫描仪。

首先:每个输入源使用一个
扫描仪,所以这里只使用一个而不是3个

然后,你需要循序渐进,你做了很多无用的事情

  • 询问您要输入的号码
    k
  • 创建数组
  • 询问
    k
    次用户输入值
  • 从值插入到另一个数组的一个数组中
但是数组中有零,因为您创建了两个大小为
k
的数组,但只输入
k
元素,所以数组中总共有
k
零,请使用
List
仅获取您需要的内容

package nizovi;

import java.util.Scanner;

public class Nizovi {

private static String array;


public static void main(String[] args) {
    Scanner sc= new Scanner (System.in);
    int k = sc.nextInt();
    int[] pos =new int[k];
    int[] neg = new int [k];
    Scanner n= new Scanner (System.in);
    System.out.println("Enter the number of members of array:");
    int members = n.nextInt();
    for (int i=k;i>0;){
         Scanner numb= new Scanner (System.in);
          System.out.println("Enter number:");
          int num=numb.nextInt();
          if (broj >=0){
              pos[num]=n.nextInt();

          }
          else{
              neg[num]=n.nextInt();


          }
    }
}
}
Scanner Scanner=新的扫描仪(System.in);
System.out.println(“输入数组的成员数:”);
int k=scanner.nextInt();
int[]pos=新的int[k];
int[]neg=新的int[k];
for(int i=0;i0){
pos[i]=编号器;
}否则{
neg[i]=数字;
}
}
System.out.println(Arrays.toString(pos));
System.out.println(Arrays.toString(neg));

也许您可以分享您的尝试?因为是的,这是一个糟糕的解释;)完成,正如您所看到的,我在这里做得非常糟糕。规则是:每个输入一个扫描仪,因此当您仅从系统中读取时。在中,仅在扫描仪上使用,请尝试此;)非常感谢你。这就完成了任务,我想我现在有点了解数组是如何工作的。
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the number of members of array:");
int k = scanner.nextInt();

int[] pos = new int[k];
int[] neg = new int[k];

for (int i = 0; i < k; i++) {
    System.out.println("Enter a number:");
    int numberUser = scanner.nextInt();
    if (numberUser > 0) {
        pos[i] = numberUser;
    } else {
        neg[i] = numberUser;
    }
}
System.out.println(Arrays.toString(pos));
System.out.println(Arrays.toString(neg));