[英]Writing a word in a rhombus/diamond shape in Java
我必須編寫一個程序,詢問一個單詞,然后將其打印為菱形/菱形,如下所示:
Word: Hello
H
He
Hel
Hell
Hello
ello
llo
lo
o
我嘗試了一些東西,但如果有人可以的話,我真的可以使用一些幫助,我嘗試過這樣的事情:
import java.util.Scanner;
public class Rhombus {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Word: ");
String word = sc.nextLine();
int wordLength = word.length();
for (int i = 0; i < wordLength; i++) {
System.out.println(word.substring(0, i));
}
}
}
這個給你:
public static void main(String[] args) {
printRhombusText("yolobird");
}
public static void printRhombusText(String s) {
// top part
for (int i = 1; i <= s.length(); ++i) {
System.out.println(s.substring(0, i));
}
// bottom part
for (int i = 1; i <= s.length(); ++i) {
// print out the space
for (int y = i; y > 0; --y) {
System.out.print(" ");
}
System.out.println(s.substring(i));
}
}
輸出:
y
yo
yol
yolo
yolob
yolobi
yolobir
yolobird
olobird
lobird
obird
bird
ird
rd
d
想要添加用戶輸入? 這里:
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
do {
System.out.print("Input your text: ");
String input = scanner.nextLine();
printRhombusText(input);
scanner.reset();
System.out.print("You want to do one more? (y/n): ");
} while (scanner.nextLine().trim().equals("y"));
}
輸出:
Input your text: kiet
k
ki
kie
kiet
iet
et
t
You want to do one more? (y/n): y
Input your text: ahihi
a
ah
ahi
ahih
ahihi
hihi
ihi
hi
i
You want to do one more? (y/n): n
您可以使用此代碼以菱形輸出單詞。
public static void main(String[] args) {
String str = "RhOmBuS";
int h = str.length();
// two parts: negative and positive, i.e.
// upper increasing and lower decreasing
for (int i = 1 - h; i < h; i++) {
// white space padding for the positive part
for (int j = 0; j < i; j++) System.out.print(" ");
// negative part: str.substring(0, h + i);
// positive part: str.substring(i, h);
String sub = str.substring(Math.max(0, i), Math.min(h, h + i));
// output the line
System.out.println(sub);
}
}
輸出:
R
Rh
RhO
RhOm
RhOmB
RhOmBu
RhOmBuS
hOmBuS
OmBuS
mBuS
BuS
uS
S
另請參閱:根據用戶輸入打印菱形圖案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.