テンプレからちょっと離れた感じ これが私が意味していたと思うものです:
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
ノート:
- import ステートメントは Scanner クラスを可視にします。
- class ステートメントは、「age」という名前のクラスの定義を開始します。通常の Java の慣例では、クラスの名前は大文字で表記します ("Age" など)。このクラスには、main() と calcDays() という名前の 2 つの静的メソッドが含まれています。
- main() メソッドが出発点です。Age クラスを実行すると (コマンドラインで「java Age」を使用するか、対話型開発環境で「Go」をクリックして)、Java ランタイムによって実行されます。
- main() はプロンプトを出力し、スキャナを使用して文字列を読み取り、その文字列を calcDays() メソッドに渡し、calcDays() によって返された整数値を出力します。
- calcDays() メソッドは文字列引数を受け取り、月、日、年の部分文字列に分割し、それらを整数値に変換して、結果として返す日を計算します。
これを試してみてください。形式を少し変更しただけでも、例外が発生し、ノイズの多い出力が大量に発生することがわかります。より多くの技術を開発するにつれて、合理的なバリエーションに適応し、不合理なものを丁寧に拒否する方法を見つけるでしょう. Java チュートリアルを参照することをお勧めしますが、これが任意の言語でプログラミングする最初の試みである場合は、初心者向けの本 (Head First Java、Java for Dummies など) に投資し、THEN.チュートリアルに戻って、同じ資料がさらに深く展開されていることを確認してください。