-1

私は現在、Java プログラミングの入門コースを受講しており、次の演習を設定しています。

文字列の配列から一連の質問をするプログラムを作成します。問題の下に星の列が印刷され、星の列はその上に印刷された質問と同じ長さになります。

以下は、私が現在書いているコードです。starLineExercise クラスには、以下に書き始めた starLine というメソッドがあります。starLine メソッドは、前の System.out.println コマンドのそれぞれの文字と同じ数の "*" を出力する必要があります。

質問ごとに文字列オブジェクトを作成し、それをカウントして for ループに配置しようとしましたが、Eclipse でカウント変数を解決できないというエラーが表示されます。

import java.util.Scanner ;
public class starLineExercise{
public static void main(String[] args){
    Scanner sc = new Scanner (System.in);
    System.out.println ("Please enter your name");
    starLine();
    String name = sc.nextLine();
    starLine();
    System.out.println("Pleae enter your age");
    starLine();
    int age = sc.nextInt();
    System.out.println("Your name is " + name + " and your age is " + age);

}

public static void starLine(){
    for (int i = 0; i < 20; i++);
        System.out.println("*");
}
System.out.println("");
 }
}
4

2 に答える 2

1

問題の出力と開始の両方を実行できるメソッドを作成します。

 public void printFormattedQuestion(String question);
     System.out.println(question);
     for(int i=0;i<question.length();i++) {
         System.out.print("*");
     }
     System.out.println();
 }

したがって、基本的length()に type のオブジェクトによって提供されるメソッドを使用していますString。これは質問の文字数を返すため、 for ループで使用して、質問に含まれる文字と同じ数の星を出力できます。

于 2013-10-06T13:23:36.810 に答える
1

コードでいくつか変更する必要があります。

  1. String印刷する前に質問を保存してください。
  2. パラメータを受け取るようにメソッドを変更しますstarLine()。ここで、 の長さを渡すことができますString
  3. このパラメータを使用するように、メソッド20のハードコーディングを変更してください。starLine()
于 2013-10-06T13:24:04.290 に答える