3

プログラミング入門クラスの質問に答えていますが、ノートや Big Java の本を読んだり、オンラインで調べたりしても、どこから始めればよいかわかりません。

それは非常に単純であるように思えますが、私はただ始める必要があります。これはすべて Java 用であり、Eclipse で作業中です。

タスクは、名前 ("Name") と数値 (int x) を取り込んで、"Name" x 回を 1 行に表示し、x-1 回を別の行に、というように表示することです。名前を一度だけ表示します。逆アキュムレータであるように見えますが、メソッドを開始するのに問題があります。どうすれば始められますか? Pythonや他の言語のようにJavaで文字列を乗算できないことは知っていますが、配列を作成したり入力したりせずに「名前」x回数を出力するにはどうすればよいですか

System.out.println("name" + " " + "name" + " "...).

任意の提案をいただければ幸いです。私はこれで初心者です。ありがとうございました!

4

10 に答える 10

2

プログラミング言語の一般的な機能であるループが必要です。

Javaforループをよく見てください。

追加のヒント:

System.out.println("test")引数を1行に出力しますが、後System.out.print("test")は​​追加しません。CR/LFtest

于 2011-04-13T07:07:53.380 に答える
1

Javaフロー制御ステートメントについて読む必要があります。forand構文を使用するwhileと、必要な処理を実行できます。

于 2011-04-13T07:08:16.950 に答える
1

System.out.printと を使用してこれを行うことができますSystem.out.println

サンプルコードは次のとおりです(実際のコードではなく、単なるサンプルです)

import java.io.*;

public class StringNameTest
{
    public static void main(String args[])
    {
            String strNumber = "";
            String strName = "";
            int intNumber;
            try 
            {
                //  open up standard input
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

                //  prompt the user to enter their name
                System.out.print("Enter your name: ");
                strName = br.readLine();

                System.out.print("Enter the number of times you want to print your name: ");
                strNumber = br.readLine();
                intNumber = Integer.parse(strNumber);

                for (row = 0; row < intNumber; row++)
                {
                    for(col = 0; col < intNumber; col++)
                        System.out.print(strName + " ");

                    System.out.println("");
                }
            } 
            catch (Exception ex) {
                System.out.println(ex.getMessage());
                System.exit(1);
            }


    }
}

お役に立てれば。

于 2011-04-13T07:10:01.207 に答える
1

メソッドは、名前とカウントを含む文字列を取得します。1 つの for ループを使用してカウントし、別の for ループを使用して名前の値を繰り返すと、目的の出力を取得できるはずです。

System.outはprintstreamであり、改行で終わる行を出力することと、改行で終わらない文字列を出力することの両方println()print()持っています。

于 2011-04-13T07:11:34.067 に答える
0

n最初に考えたのは、線が必要だということです。それで、ループに入ります。

for (int i = 0; i < n; ++i)
{

i次に、文字列の時間をオンラインで印刷する必要がありますn - i。ネストされたループに入ります。

     for (int j = 0; j < n - i; ++j)
     {

次に、名前の印刷を開始します。

           System.out.print(name + " ");
     }

printlnすべての名前を同じ行に表示したいので、 を使用しなかったことに注意してください。ここで、時間
を印刷したときに行を終了する必要があります。n - i

     System.out.println();

外側のループを閉じます。

}

nまた、プログラムに名前と整数をユーザーに尋ねる方法がわからない場合は、次のようにします。

String name = null;
int n = 0;
try
{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Enter the name: ");
    name = br.readLine();
    System.out.print("How many times (n): ");
    n = Integer.parseInt(br.readLine());
} catch (Exception e)
{
    e.printStackTrace();
    System.exit(-1); // exit!, there was an error
}
于 2011-04-13T07:29:00.610 に答える
0

x までカウントする外側のループと、(x - 外側のループ カウンター) までカウントする内側のループを使用します。一般的な「1 回限り」のエラーに注意してください。

于 2011-04-13T07:14:10.023 に答える
0

Java に文字列の繰り返しが組み込まれていないのは正しいことです。しかし、まさにこれを行う独自のメソッドを定義できます。

public static String repeated(String s, int times) {
  StringBuilder sb = new StringBuilder();
  // TODO: append /s/ to /sb/ for /times/ times.
  return sb.toString();
}

すべてを 1 つの大きなコード ブロックにまとめるのではなく、この「演算子」を使用することをお勧めします。これは、プログラムを読みやすくするのに役立ちます。

于 2011-04-13T07:15:50.397 に答える