2011-06-23 30 views
0
  1. 今日の年齢を尋ねることを考慮して、生年を計算できる誕生日ウィザードを作成します。誕生日ウィザードでこの計算を実行するためにJavaプログラムで使用できるステートメントを記述します。

ここで私が必要としたものは動作しません。誰かが私が間違っているの何を指すことができます:生年月日ウィザードプログラム

import java.util.Scanner; 
public class Birthday 
{ 
    public static void main(String[]args) 
    { 
     int birthday; 
     int age; 
     int YearOfBirth; 

     Scanner keyboard = new Scanner(System.in); 
     System.out.println(" What is your +Age ?"); 

     age = keyboard.nextInt(); 
     YearOfBirth= 2011 - age; 
     System.out.println("I was born :+ YearsOfBirth."); 
    } 
} 
+5

何が問題なのですか? (要求されたプログラムが文字通り実装が不可能であるという事実に加えて) – geoffspear

+3

また、現在の年を取得するために日付/カレンダーAPIを使用することもできます。それ以外の場合は、2012年にはコードが機能しません:-D –

+0

(誰かの誕生日を知らず、生年が何歳になっているのかわからないだけですが、現在の日付が7月からさらに増えるにつれて、 1) – geoffspear

答えて

2
System.out.println("I was born :+ YearsOfBirth."); 

あなたはyearsOfBirth

System.out.println("I was born : "+ YearsOfBirth+"."); 

はそれを試してみて、私に知らせて表示する前にあなたの引用符を閉じることはありません。

また変数名が間違っていることに気がつきました。printステートメントのYearsOfBirth宣言時にはYearOfbirthです。 age = keyboard.nextInt();がが動作するかどう

1
System.out.println("I was born :+ YearsOfBirth."); 

System.out.println("I was born :" + YearOfBirth + "."); 

は分からないされなければなりません。

+0

nextIntは動作します – RMT

+0

それはいいですね:-) – nhaarman

0

System.out.println( "私は生まれた:+ YearsOfBirth。");

のSystem.out.println( "私が生まれた:+" YearsOfBirthを)......これは、この

間違って使用することです。

0

System.out.println("I was born :+ YearsOfBirth.");

これはリテラル文字列になり "私が生まれた:+ YearsOfBirth。"印刷される。あなたが望むものではありません。おそらくこれは、あなたが何を意味するのかである:

System.out.println("I was born :"+ YearsOfBirth);

この時、変数YearsOfBirthを文字列に変換さと連結され、「私が生まれた:」望ましい結果を提供します。

Javaでは、連結演算子(+)を2つのオブジェクトに適用し、それらのうちの1つがストリングであった場合、もう1つはStringオブジェクトに変換されます(値は意味をなさないかもしれません)。新しいStringオブジェクトが返されます。また、二重引用符で囲まれたリテラルは、しばしばストリングです。

0
import java.util.Scanner; 
public class Birthday 
{ 
    public static void main(String[]args) 
    { 
    int birthday; 
    int age; 
    int yearOfBirth; 

    System.out.println(" What is your Age ?"); 

    Scanner keyboard = new Scanner(System.in); 
    String input = keyboard.nextLine(); 
    age = Integer.parseInt(input); 

    yearOfBirth = 2011 - age; 
    System.out.println("I was born :" + yearOfBirth); 
    } 
} 

これは動作するはずです。

関連する問題