簡體   English   中英

Java Arrays - 哪里也放字符串? 為什么不起作用?

[英]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" 。我如何打印偶數和奇數的確切數字( 75 )顯示在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++;
            }       
        }
    }
}

注意我不能使用任何類,例如ArrayListVector等。

當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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM