2017-03-20 14 views
-1

私は、ユーザがいくつかのジョブを入力して、各ジョブの名前を入力できるようにしたい。今、私は一見ブルースですが、else文でそれを強制します。私はJavaに、自分が持っていたジョブの数とそれらのジョブの名前を尋ねるようにしようとしています

System.out.println("How many jobs have you had?"); 
int numberjobs = scanner.nextInt(); 

if (numberjobs == 3) { 
    System.out.println("What was your first job?"); 
    scanner.nextLine(); 
    company1 = scanner.nextLine(); 
    System.out.println("What was your second job?"); 
    company2 = scanner.nextLine(); 
    System.out.println("What was your third job?"); 
    company3 = scanner.nextLine(); 
} else if (numberjobs == 2) { 
    System.out.println("What was your first job?"); 
    scanner.nextLine(); 
    company1 = scanner.nextLine(); 
    System.out.println("What was your second job?"); 
    company2 = scanner.nextLine(); 
} else if (numberjobs == 1) { 
    System.out.println("What was your first job?"); 
    scanner.nextLine(); 
    company1 = scanner.nextLine(); 
} 

ループを作成する方法はありますか?入力されたジョブの数に上限がないループを作成できますか?

+4

は配列とループを使用してください。 –

+0

どうすればいいですか? – Calvin

答えて

1

企業のコレクションを作成し、ループを使用して、それを移入:

List<String> companies = new ArrayList<>(); 
System.out.println("How many jobs have you had?"); 
int numberjobs = scanner.nextInt(); 

for (int i=0; i < numberjobs; ++i) { 
    System.out.println("Enter job " + i + " please:"); 
    String company = scanner.nextLine(); 
    companies.add(company); 
} 

私たちはここ配列をも使用することもできますが、Listはより柔軟性があり、あなたのプログラム内のロジックは、後で複数のジョブを追加する必要がなければなりませんある時点で

1

はい、あなたはループを使用することができます。

System.out.println("How many jobs have you had?"); 
int numberjobs = scanner.nextInt(); 

String companies[] = new String[numberjobs]; 

for(int i=0; i<numberjobs; i++) { 
    System.out.println("What was your job #" + (i+1) + "?"); 
    company[i] = scanner.nextLine(); 
} 
関連する問題