![](/img/trans.png)
[英]How to print number 1 to 10(in that sequence only)using loops(java) if int i = 10
[英]How to print a number sequence figure using for loops
我需要編寫一個打印出下圖的程序:
122333444455555
22333444455555
333444455555
444455555
55555
這是我的代碼:
for (int a = 0; a <= 5; a++)
{
for (int b = 0; b < a; b++)
{
System.out.print(a);
}
}
打印出122333444455555
我需要三重嵌套我的 for 循環,但我不確定從哪里開始。 如果我能得到任何提示/技巧,將不勝感激。
我想你想多了。 我會簡化事情並使用不同的算法。 啟動一個String
並用一個循環對其進行變異。 像,
String s = "122333444455555";
for (int i = 0; i < 5; i++) {
System.out.println(s);
s = s.substring(i + 1);
}
產出(按要求)
122333444455555
22333444455555
333444455555
444455555
55555
或者:
for(int a = 1; a <= 5; a++){
for (int b = a; b <= 5; b++) {
for (int c = 1; c <= b; c++) {
System.out.print(b);
}
}
System.out.println();
}
我知道你已經有了答案,但我做這個很開心,哈哈:
public static void main(String[] args)
{
int aux = 0;
for(int i = 1; i <=5 ; i++) {
if(i == 1) {
System.out.print("1");
} else if (i ==2){
System.out.print("22");
}else if (i ==3){
System.out.print("333");
}else if (i ==4){
System.out.print("4444");
}else if (i ==5){
System.out.print("55555\n");
if(aux != 5) {
aux ++;
i = aux;
}
}
}
}
既然你說for loops
,我假設你的意思至少是其中兩個。
for (int i = 1; i <= 5; i++) {
for(int k = i; k <= 5; k++) {
System.out.print((k+"").repeat(k));
}
System.out.println();
}
關於您問題的更常見解決方案:
代碼
private static void printStringSequence(int number) {
for (int i = 0; i < number; i++) {
StringBuilder sb = new StringBuilder();
for (int j = i; j < number; j++) {
sb.append(generateRepeateSequence(j + 1));
}
System.out.println(sb.toString());
}
}
private static String generateRepeateSequence(int number) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < number; i++) {
sb.append(number);
}
return sb.toString();
}
測試 Output
打印字符串序列(5);
122333444455555
22333444455555
333444455555
444455555
55555
打印字符串序列(4);
1223334444
223334444
3334444
4444
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.