Number Pattern
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 71/73。
ピラミッドのようなパターンを作成する際、繰り返し文字を含む文字列を作成する必要があることがよくあります。こうした文字列を作成するための便利なテクニックを紹介します:
String str = new String(new char[10]).replace("\0", "a");str は "aaaaaaaaaa" を保持します。
これがどのように動作するかを分解してみましょう:
new char[10]は10個の文字の配列を作成し、それぞれが'\0'(null文字) に初期化されますnew String(new char[10])はこの配列を10個の null文字からなる文字列に変換しますreplace("\0", "a")は各 null文字を 'a' に置き換えます
"\0"と記述することが重要で、“0”ではありません。
チャレンジ
簡単各テストケースには1つの入力があります - 奇数の整数です。
あなたのタスクは*を使用してn - ピラミッドを出力することです。以下に例を示します:
1 - ピラミッド
*5 - ピラミッド
*
***
*****7 - ピラミッド
*
***
*****
*******入力
- ユーザーからの奇数整数
n - 1 <=
n< 1000
ヒント
- 小さな三角形から始めてみてください
- 詰まったらヒントを確認してください ;)
nは最下段の*の数を表します
チートシート
Java で繰り返し文字の文字列を作成するには:
String str = new String(new char[10]).replace("\0", "a");これにより、10 個の 'a' 文字の文字列が作成されます:"aaaaaaaaaa"
仕組み:
new char[10]は 10 個の文字の配列を作成し、それぞれが'\0'(null 文字)に初期化されますnew String(new char[10])はこの配列を 10 個の null 文字の文字列に変換しますreplace("\0", "a")は各 null 文字を 'a' に置き換えます
重要:
"\0"(null 文字)を使用し、"0"(ゼロ文字)ではありません
自分で試してみよう
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else