[英]Java Arrays - Where too put Strings? Why doesn't it work?
我的程序應該是這樣的:
你想要多少個 0 - 999 之間的隨機數? 12 (用戶輸入)
以下是隨機數:145 538 56 241 954 194 681 42 876 323 2 87
這 7 個數字是偶數: 538 56 954 194 42 876 2
這 5 個數字是奇數:145 241 681 323 87
我似乎不能在代碼的正確位置放置String
s( "These 7 numbers are even"
和"These 5 numbers are odd"
。我如何打印偶數和奇數的確切數字( 7
和5
)顯示在String
?代碼似乎對我不起作用。你看到問題了嗎?我希望你能幫我解決這個問題,我已經連續做了 12 個小時了。
這是我的代碼:
import java.util.Scanner;
public class SlumpadeTal {
public static void main(String[] args) {
int evenCounter = 0;
int oddCounter = 0;
Scanner input = new Scanner(System.in);
System.out.println("How many random numbers between 0 - 999 do you want?");
int antal = input.nextInt();
System.out.println("Here are the random numbers:");
int[] arrayen = new int[antal];
for (int i = 0; i < arrayen.length; i++) {
arrayen[i] = (int) (Math.random() * 999 + 1);
System.out.print(arrayen[i] + " ");
if ((arrayen[i] % 2) == 0) {
evenCounter++;
}
else {
oddCounter++;
}
}
int[] evenArray = new int [evenCounter];
int[] oddArray = new int[oddCounter];
evenCounter = 0;
oddCounter = 0;
for (int i = 0; i < arrayen.length; i++){
if ((arrayen[i] % 2) == 0) {
evenArray[evenCounter] = arrayen[i];
evenCounter++;
}
else {
oddArray[oddCounter] = arrayen[i];
oddCounter++;
}
}
}
}
注意我不能使用任何類,例如ArrayList
、 Vector
等。
當evenArray 和oddArray 在最后一個for 循環完成后有值時。 您只需使用另外 2 個循環來打印這 2 個數組。
7是偶數計數器 + 1
5是奇數計數器 + 1
例如:字符串 s = "這些 " + (evenCounter + 1) + "數字是偶數:" .... 打印你的數組。
只為你的輸出:
System.out.print("These "+evenCounter+" numbers are even: ");
for (int i = 0; i < evenCounter; i++){
System.out.print(evenArray[i]+" ");
}
System.out.println();
System.out.print("These "+oddCounter+" numbers are odd: ");
for (int i = 0; i < oddCounter; i++){
System.out.print(oddArray[i]+" ");
}
System.out.println();
可以工作,還有其他解決方案。 例如:
String evStr=new String();
String odStr=new String();
int curNum=0;
for (int i = 0; i < antal; i++) {
curNum = (int) (Math.random() * 999 + 1);
System.out.print(curNum + " ");
if ((curNum % 2) == 0) {
evStr+=" "+curNum;
evenCounter++;
}
else {
odStr+=" "+curNum;
oddCounter++;
}
}
System.out.println();
System.out.println("These "+evenCounter+" numbers are even: "+evStr);
System.out.println("These "+oddCounter+" numbers are odd: "+odStr);
因此,帶有偶數/奇數代碼數組的整個第二部分消失了。 並且根本沒有數組了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.