0

ArrayList を使用して、ショーの名前、日時を保存しています。私のプログラムでは、曜日ごとに再生されるショーの数を出力する必要があります。4 つの異なる番組を入力しましたが、そのうちの 2 つは同じ日の番組です。これまでのところ、出力から得られたのは「木曜日に 2 つのショーがあります/ある」ということだけです。他の2つは表示されませんでした。入力した日ごとの番組数を表示するようにするにはどうすればよいですか? そのための私のコードは次のとおりです。

    String showDay = ((showInfo)show.get(0)).day.toString();
    int totalShows = 0;

    //print occurences for how many shows play each day
    for (int i = 0; i < show.size(); i++) {
           if (showDay.equals(((showInfo)show.get(i)).day.toString())) {
                totalShows++;
           }
      }

      System.out.println("On " + showDay + " there are/is " + totalShows + " show(s).");
 }

入力したショーのコードは次のとおりです。

//input information
    do{
        showInfo temp = new showInfo();

        System.out.print("Enter the name of show: ");
        String showName = br.readLine();
        temp.name = showName;

        System.out.print("Enter which day of the week a new episode premieres: ");
        String showDay = br.readLine();
        temp.day = showDay;

        System.out.print("Enter time in 24-hour format (e.g. 2100, 1900): ");
        int showTime = Integer.valueOf(br.readLine()).intValue();
        temp.time = showTime;

        show.add(temp);            

        System.out.print("Would you like to add another show? (y/n) ");
    }
    while((br.readLine().compareTo("n")) != 0);

私は Java 1.4 を使用していることに注意してください。他に選択肢はありません。先生のご要望で。

これはおそらく明らかですが、私は今気づいていません。どんな助けでも素晴らしいでしょう!前もって感謝します!

編集:

String showDay = ((showInfo)show.get(0)).day.toString();

    if("sunday".equalsIgnoreCase(showDay)){
        showdayCount[0]++;
        System.out.println("There are/is " + showdayCount[0]++ + " show on Sunday.");
    }else if("monday".equalsIgnoreCase(showDay)){
        showdayCount[1]++;
        System.out.println("There are/is " + showdayCount[1]++ + " show on Monday.");
    }else if("tuesday".equalsIgnoreCase(showDay)){
        showdayCount[2]++;
        System.out.println("There are/is " + showdayCount[2]++ + " show on Tuesday.");
    }else if("wednesday".equalsIgnoreCase(showDay)){
        showdayCount[3]++;
        System.out.println("There are/is " + showdayCount[3]++ + " show on Wednesday.");        
    }else if("thursday".equalsIgnoreCase(showDay)){
        showdayCount[4]++;
        System.out.println("There are/is " + showdayCount[4]++ + " show on Thursday.");
    }else if("friday".equalsIgnoreCase(showDay)){
        showdayCount[5]++;
        System.out.println("There are/is " + showdayCount[5]++ + " show on Friday.");
    }else if("saturday".equalsIgnoreCase(showDay)){
        showdayCount[6]++;
        System.out.println("There are/is " + showdayCount[6]++ + " show on Saturday.");
    }

これも1行しか与えていません。私は何を間違っていますか?! :(

編集:

私が欲しいのは、テレビ番組の名前/日/時間を入力し、後でその特定の日にある番組の量を表示できるようにすることです!

たとえば、Big Bang Theory と Community はどちらも木曜日です。したがって、コードは次のようなものを出力します

There are 2 shows on Thursday.

これまでのところ、何も機能していません。

4

2 に答える 2