-2
プログラムは2つのチーム名と2つのスコアの入力を保存した後、出力する必要があります。配列がちょうど印刷され"null"を出力するJava配列
"ヌル[ヌル] |ヌル[ヌル]"
import java.util.Scanner;
public class C3484209 {
public static void main(String[] args) {
String[] home_team_name = new String[100];
String[] away_team_name = new String[100];
String[] home_team_score = new String[100];
String[] away_team_score = new String[100];
Scanner keyboard = new Scanner(System.in);
String line = "";
while (!(line.equalsIgnoreCase("stop")))
{
System.out.println("Enter the teams that played and the score :");
System.out.println("(Please note that the standard format is Home team : Away Team : Home Score : Away Score)");
line = keyboard.nextLine();
String[] elements = line.split(": ");
for (int i = 0; i < elements.length;)
{
if ((int)i == 0)
{
home_team_name[i] = elements[0];
i++;
}
else if ((int)i == 1)
{
away_team_name[i] = elements[1];
i++;
}
else if ((int)i == 2)
{
home_team_score[i] = elements[2];
i++;
}
else if((int)i == 3)
{
away_team_score[i] = elements[3];
i++;
}
//System.out.print("Element " + (i+1) + " was : " + elements[i] + " | ");
System.out.println(home_team_name[i] + " [" + home_team_score[i] + "]" + " | " + away_team_name[i] +" [" + away_team_score[i] + "]");
}
}
//Output Command
keyboard.close();
}
}
これはプログラミングのクラスにイントロで簡単な宿題のように見えます。あなたの最良の賭けは、あなたの前提が現実に合致しないところを見るためのデバッガでのスピンです。 JVMを信じてください。あなたが正しく設定していないので、これらの値はnullです。あなたのコースでは早すぎるかもしれませんが、これらの値をカプセル化するJavaオブジェクトを作成し、それを印刷する適切なtoStringメソッドを使用することをお勧めします。あなたは、扱いがはるかに簡単なオブジェクトのリストを持つことができます。 – duffymo
あなたの 'forループ'の終わりにある 'System.out.println'文は、そのforループの範囲外にあるべきではありませんか?まず、すべての値を印刷する前に設定する必要があります。 'forループ'から 'System.out.println'文を出してコードをコンパイルしようとしましたが、うまくいきました。 – Yousaf