-5

コンソールのスキャナーをパラメーターとして受け入れ、ユーザーに生年月日、生年月日、生年月日を入力するように求めるメソッドをinputBirthday記述し、生年月日を適切な形式で出力します。ユーザーとの対話の例を次に示します。

On what day of the month were you born? 8
What is the name of the month in which you were born? May
During what year were you born? 1981
You were born on May 8, 1981. You're mighty old!

だからこれは私がしたことです:

import java.util.Scanner;

public static void inputBirthday(int month,String day,int year){
    Scanner sc=new Scanner(System.in);
    System.out.print("On what day of the month were you born?");
    month=sc.nextInt();

    System.out.print("What is the name of the month in which you were born?");
    day=sc.nextLine();

    System.out.print("During what year were you born?");
    year=sc.nextInt();  
}

コードをコンパイルできませんでした。誰かが私にいくつかのヒントを与えることができます、そして私はそれを自分で試してみます。

4

4 に答える 4

4

クラスには宣言が必要です。JavaはOO言語であるため、クラスの使用は必須です。

class MyClass {
   public static void inputBirthday(int month, String day, int year) {
      ...
   }
}

プログラムを実行するためのエントリポイントをクラスに与えるメソッドに置き換えるinputBirthdayことができます。main

于 2013-02-10T17:07:43.657 に答える
2

Javaすべてのものがクラスにある必要があります。

例えば

import java.util.Scanner;
public class BirthdayClass{
  public static void inputBirthday(){
    Scanner sc=new Scanner(System.in);
    System.out.print("On what day of the month were you born?");
    int month=sc.nextInt();

    System.out.print("What is the name of the month in which you were born?");
    int day=sc.nextLine();

    System.out.print("During what year were you born?");
    int year=sc.nextInt();

  }
 // This is main method which is called when class is loaded
 public static void main(String[] args){
   BirthdayClass.inputBirthday();
 }
}

を使用してプログラムをコンパイルしてから、を使用しjavac BirthdayClass.javaて実行しjava BirthdayClassます。

dayさらに、メソッドに入力を取得するときに、monthyearパラメーターとして渡す必要はありません。むしろ、メソッドでそれらを宣言する必要があります。

于 2013-02-10T17:12:44.270 に答える
2

inputBirthday(...)メソッドを内部にカプセル化する必要がありますclass

お気に入り:

class Birthday{
     public static void inputBirthday(int month, String day, int year) {
      // .... rest of the code ....
  }
}
于 2013-02-10T17:09:18.020 に答える
0

私の提案は、本の最初の章に戻って読むことです。何かを行うには、これらの基本的なことを知る必要があります。すべてのプログラムは、どこかに main メソッドを必要とします。通常は、それ自体がほとんど含まれていないクラス内にあります。デバッグの手間を軽減します。しかし、学校でちょっとした練習をするだけなら、この基本構造を使ってください。

演習でそう言っている場合は明らかにメソッドに入れ、メインメソッドでメソッドを呼び出します。クラスにそれ自体がある場合にのみオブジェクトを構築しますが、おそらくクラスではまだOOP部分について知るのに十分ではありません。

className {

    public static void main(String[] args) {
        // your code here.    
    }


} // end of class.
于 2013-02-10T19:09:11.243 に答える