2016-10-24 18 views
1

ので、私は確認する必要があり、以下: ときコンソールで自分の名前が、それが倍の年齢である場合、名前に量を表示する必要があるとした後、自分の年齢を記入の入力を求められますユーザーの種類。したがって、たとえば ユーザ入力はマイキー 年齢が入力されている:4 は、プリントコンソール:ユーザー入力名回年齢

public static void main(String[] args) throws IOException { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     String invoer; 
     String invoer2; 
     System.out.print("Fill in your name:"); 
     invoer = br.readLine(); 
     System.out.print("Fill in your age:"); 
     invoer2 = br.readLine(); 
     System.out.print("" + invoer); 
     System.out.print(" " + invoer2); 
    } 


マイキー
マイキー
マイキー
マイキーを

は、これまでのところ、私は次のコードを作りました私は非常にJavaに新しいので、私は問題が何も、修正プログラムが何であるかわからない。私は何が間違っているのか見るためにそのようなコードを探してきましたが、私は何かを見つけることができません。

+0

あなたの出力気圧とは何ですか? –

+0

あなたの名前を記入してください: あなたの年齢を記入してください:18 Mikey 18BUILD SUCCESSFUL(合計時間:8秒) – Artifacialic

答えて

1
public static void main(String[] args) throws IOException { 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    String invoer; 
    String invoer2; 
    System.out.print("Fill in your name:"); 
    invoer = br.readLine(); 
    System.out.print("Fill in your age:"); 
    invoer2 = br.readLine(); 
    try { 
     for (int i = 0; i < Integer.parseInt(invoer2); i++) { 
      System.out.println(invoer); 
     } 
    } catch (NumberFormatException e) { 
     System.out.println("Age should be a number"); 
     e.printStackTrace(); 
    } 
    System.out.print("" + invoer); 
    System.out.print(" " + invoer2); 
} 

あなたは、ユーザの入力から番号を取得しています。これはInteger.parseInt(invoer2)で行うことができます。ただし、入力が有効な番号でない場合は、NumberFormatExceptionが返されます。

しかし、私はScannerを使用することをお勧めします。

public static void main(String[] args) throws IOException { 
    Scanner s = new Scanner(System.in); 
    String invoer; 
    String invoer2; 
    System.out.print("Fill in your name:"); 
    invoer = s.next(); 
    System.out.print("Fill in your age:"); 
    try { 
     invoer2 = s.nextInt(); 
     for (int i = 0; i < invoer2; i++) { 
      System.out.println(invoer); 
     } 
    } catch (InputMismatchException e) { 
     System.out.println("It wasn't valid age"); 
    } 
    System.out.print("" + invoer); 
    System.out.print(" " + invoer2); 
} 
+0

繰り返す印刷を行うには、forループが必要な部分を追加したいかもしれません(私はそのコードを答えに入れません;彼に仕事をさせてください)。 – GhostCat

+0

@Artifacialicあなたは答えの下の灰色の目盛り。 – xenteros

+0

@GhostCat私が好む 'Scanner'を使って解決策を追加しました。 OPに残りをさせてください。 – xenteros

0

あなたは年齢の各年に一度の名前を印刷するためのループを使用する必要があります。しかし、まず、年齢のために入力された文字列をintに変換し、それをループの境界として使用することができます。

public static void main(String[] args) throws IOException { 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    String invoer; 
    int invoer2; 
    System.out.print("Fill in your name:"); 
    invoer = br.readLine(); 
    System.out.print("Fill in your age:"); 
    invoer2 = Integer.parseInt(br.readLine()); 
    for (int i=0; i < invoer2; ++i) { 
     System.out.print(invoer); 
    } 
} 
+0

私はこれをダウンリストにしてください理由はありません。説明? –

+0

私には理由もありません。それは正しいと私はdownvote didntの – GameDroids

+0

作業ですが、私はあなたのコードは、問題のフォーマット番号を無視しますね。プログラムが別の入力を求めることで回復しようとしない限り、 – GhostCat