2

私の先生は私にこの質問をしました:

次のことを行うプログラムを作成します。

  • あなたの名を入力してください:ピーター
  • 家系の名前を入力してください:Opunga
  • 生年月日を入力してください:1992
  • こんにちはピーターオプンガ、あなたは今年の終わりまでに20歳になります。
  • ボーナス1:適切なコメント。(10%)
  • ボーナス2:プログラム全体で2つの文字列のみを作成します。(10%)
  • ボーナス3:正確に4つのSystem.out.printを使用します。(10%)

今、私はJavaに完全に慣れていません。私はちょうど一週間前にそれを紹介されました、そしてこれは私が思いついたものです:

import java.io.*;

public class A1Chuah {

    public static void main(String[] args) throws IOException {

        BufferedReader in = new BufferedReader (new InputStreamReader (System.in));

        //Prints instructions for user to enter first name.
        System.out.println("Enter first name: ");
        //Obtains user input for first name.
        String first = in.readLine ();
        //Prints instructions for user to enter last name.
        System.out.print ("Enter last name: ");
        //Obtains user input for last name.
        String last = in.readLine();
        //Prints instructions for user to enter birth year.
        System.out.print ("Enter your birth year: ");
        //Obtains user input for birth year.
        String year = in.readLine ();
        //Converts String year to int useryr
        int useryr = Integer.parseInt(year);
        //Sets int oriyr to value of 2012
        int oriyr = 2012;
        //Sets int outyr as oriyr - useryr
        int outyr = oriyr - useryr;
        //Prints out information.
        System.out.println("Hi" + " " + " " + last + "," + " " + "you will be" +  " " + outyr + " " + "by the end of this year");

ボーナス1と3をなんとか完了しましたが、ボーナス2を理解できないようです。助けてください!PS彼は、私が自分の考えとしてそれを伝えようとしない限り、私は助けを得ることができると言いました。

4

3 に答える 3

4

1つの文字列を使用してフルネームを取得し、もう1つを年に使用できます。この方法で実行できます。

    System.out.println("Enter first name: ");

    String name = in.readLine();

    System.out.print ("Enter last name: ");

    name+= " " + in.readLine();

    System.out.println(name); // should print first and last
于 2012-02-17T02:31:16.023 に答える
0

編集:申し訳ありませんが、java.util.Scannerクラスを使用していると思ったので、代わりにそれに切り替えたいと思わない限り、以下は役に立ちません。

以下は、あなたが使用しているという仮定の下で書かれました:

java.util.Scanner in = new java.util.Scanner(System.in);
in.nextLine();

前の投稿:

in.nextInt();返される文字列を生年月日で解析する代わりに、このメソッドを探していると思います。

また、Scannerには、パターンのスキャン(RegEx)や文字列入力のトークン化などの機能がはるかに多いことに注意してください。

将来的には、オートコンプリートを使用してクラスの可能なメソッドをすばやく参照できるNetbeansなどのIDEを使用することをお勧めします。あなたがそうすることを許されているなら、それはそうです。

于 2012-02-17T02:25:49.160 に答える
0

文字列を再利用String last = in.readLine();できるので、次のように置き換えることができますfirst = in.readLine ();

さて、読み取りに必要な文字列が1つだけで、回答に必要な文字列が1つだけの場合は、そこから2つの文字列のみを使用する方法を理解できるはずです。

(ヒントhttp://docs.oracle.com/javase/tutorial/java/data/strings.html

于 2012-02-17T02:22:14.653 に答える