-2

私は約 3 週間の Java 経験があるので、ご容赦ください。教師のテンプレートに従って、何日生きたかを計算するプログラムを作成しようとしていますが、私の人生では、「エラー」が発生し続ける理由がわかりません。期待される。

public class age {
public static void main(String[] args) {
    System.out.print("Enter your date of birth");
    int calcDays = (String birthdate);{
        String m1 = birthdate.substring(0,1);
        String m2 = birthdate.substring(3,4);
        String m3 = birthdate.substring(6,9);
        int month = Integer.parseInt(m1);
        int day = Integer.parseInt(m2);
        int year = Integer.parseInt(m3);
        int dd = year * 365 + month * 30 + day;
        return(dd);
    }
    System.out.print("This is a test" + dd);
}

}

4

1 に答える 1

2

テンプレからちょっと離れた感じ これが私が意味していたと思うものです:

import java.util.Scanner;

public class age {

    public static void main(String[] args) {
        Scanner sysin = new Scanner(System.in); 
        System.out.print("Enter your date of birth");
        String birthdate = sysin.next();
        int dd = calcDays(birthdate);

        System.out.print("This is a test" + dd);
    }

    static int calcDays(String birthdate) {
        String m1 = birthdate.substring(0, 1);
        String m2 = birthdate.substring(3, 4);
        String m3 = birthdate.substring(6, 9);
        int month = Integer.parseInt(m1);
        int day = Integer.parseInt(m2);
        int year = Integer.parseInt(m3);
        int dd = year * 365 + month * 30 + day;
        return (dd);
    }
}

サンプル実行からの出力:

    生年月日を入力してください: 12/25/2000
    これはテストです73032

ノート:

  1. import ステートメントは Scanner クラスを可視にします。
  2. class ステートメントは、「age」という名前のクラスの定義を開始します。通常の Java の慣例では、クラスの名前は大文字で表記します ("Age" など)。このクラスには、main() と calcDays() という名前の 2 つの静的メソッドが含まれています。
  3. main() メソッドが出発点です。Age クラスを実行すると (コマンドラインで「java Age」を使用するか、対話型開発環境で「Go」をクリックして)、Java ランタイムによって実行されます。
  4. main() はプロンプトを出力し、スキャナを使用して文字列を読み取り、その文字列を calcDays() メソッドに渡し、calcDays() によって返された整数値を出力します。
  5. calcDays() メソッドは文字列引数を受け取り、月、日、年の部分文字列に分割し、それらを整数値に変換して、結果として返す日を計算します。

これを試してみてください。形式を少し変更しただけでも、例外が発生し、ノイズの多い出力が大量に発生することがわかります。より多くの技術を開発するにつれて、合理的なバリエーションに適応し、不合理なものを丁寧に拒否する方法を見つけるでしょう. Java チュートリアルを参照することをお勧めしますが、これが任意の言語でプログラミングする最初の試みである場合は、初心者向けの本 (Head First Java、Java for Dummies など) に投資し、THEN.チュートリアルに戻って、同じ資料がさらに深く展開されていることを確認してください。

于 2013-10-04T00:38:06.137 に答える