[英]Write a program that takes as input an array of positive and negative numbers (0 excluded)
[英]How to create a program that allows user to decide the number of Scanner input and then divides Scanners into arrays of positive and negative numbers?
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();
}
}
}
}
我正在使用 for 循環,我很困惑如何在其中添加更多數字,因為如果我將數組命令留在 for 循環中,它每次都會使用不同的掃描儀定義它。抱歉,解釋不好。
第一:每個輸入源使用一個Scanner
,所以這里只有一個而不是 3
然后,你需要一步一步來,你做了很多無用的事情
k
k
次值但是你的數組中會有零,因為你創建了 2 個大小為k
的 arrays 但只輸入了k
個元素,所以你的 arrays 中總共有k
個零,使用List
來只擁有你需要的東西
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));
Scanner numb=新的Scanner (System.in);
那種說法……根本沒用。
您已經定義了一次有效的掃描儀,更進一步,命名為n
。
你只應該:
scannerForUserInput
而不是n
。根本不需要為每個新的輸入數據定義一個新的掃描儀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.