java寫計算001,...100出現次數

java寫計算001,...100出現次數

請使用者輸入

001,002,003....100

計算該輸入值的出現次數(未出現者不予顯示)

Update:

可否解釋每一行的意思... 我看不太懂

Update 2:

str_split = scanner.next().split(",");

for(int i=0;i

Update 3:

for(int i=0;i

Update 4:

我用寄信的 字元無法顯示..

還有我沒學過陣列.. 只有自己預習 =.=

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    import java.util.Scanner;

    class NewClass {

    public static void main(String args[]) {

    int number[] = new int[100];

    String str_split[];

    Scanner scanner = new Scanner(System.in);

    System.out.printf("請任意輸入介於001~100的數字(以逗號隔開):");

    str_split = scanner.next().split(",");

    for(int i=0;i<str_split.length;i++)

    number[Integer.parseInt(str_split[i])-1]++;

    for(int i=0;i<100;i++)

    if(number[i]>0)

    System.out.printf("%03d出現%d次\n", i+1,number[i]);

    }

    }

    2007-11-07 17:18:27 補充:

    Scanner、printf、for迴圈、陣列

    這些語法都蠻基本的

    你大概說一下是那個地方看不懂

    我在特別針對那個部份作說明

    2007-11-07 23:21:45 補充:

    str_split = scanner.next().split(",");

    將 scanner 取得的字串以 split function 切割後放入 str_split 陣列中

    split(",") 指的就是以逗號做為分割字元

    例如:使用者輸入 10,20,30,40,經過 split(",") 後

    會將 str_split 配置為長度4的陣列,並一一放入分割後的值

    內容如下:

    str_split[0] = 10

    str_split[1] = 20

    str_split[2] = 30

    str_split[3] = 40

    2007-11-07 23:54:49 補充:

    你手邊有java的書嗎~

    陣列的部份你自己看書研究比較快

    至於 split 的部份,你可以試著練習看看

    例如:

    String a1="10,20,30,40,50"; // 宣告一個a1字串變數,並指定字串

    String a2[]; // 宣告一個 a2 字串陣列

    a2 = a1.split(",");

    "%03d出現%d次&#92;n"

    %d : 以10進位整數輸出

    %03d 指的就是輸出一個長度為3的10進位數值,不足的部份補0

    例:

    System.out.printf("%d",55); 輸出結果為55

    System.out.printf("%03d",55); 輸出結果為055

    這樣看懂了嗎?

  • 1 decade ago

    這種學習態度學的好才有鬼

Still have questions? Get your answers by asking now.