[英]Java Program printing numbers in sequence
我正在用數字編寫這個程序,但我很困難,需要一些幫助。
代碼到目前為止:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Oppgi øvre grense: ");
int Number = in.nextInt();
int tall = 1;
for(int t = 0; tall <=45; tall++){
System.out.println(" " + tall);
}
}
目標:讓第一行包含一個數字,第二行包含兩個數字,第三行包含三個數字等。輸出應該看起來像金字塔,每行的數字之間有不同的間距。
如果有人可以幫我解決方案代碼。 謝謝。
Oppgiøvregrense:45 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
outer loop{
decides number of numbers in one line
inner loop{
prints actual numbers.
Please keep track of the numbers you have printed so far
Inner loop starts at numbers printed so far
It will have passes = number of numbers to print
}
}
這里有兩個不同的任務:
1.確定在一行中打印多少個數字
2.實際打印數字
既然如此,一個循環決定要打印多少個數字: 外部循環 。 它是外循環的原因是因為您需要清楚地了解在實際打印之前需要打印多少個數字。
另一個循環: 內循環進行實際打印。
因此,一旦從外循環開始,您的內循環將開始打印。
然后它將查看是否已打印該通行證的最大數字。
如果是,請停止。 然后,增加外部循環。 回來,打印,檢查然后再做同樣的事情。
夠容易嗎?
public class RareMile {
public static void main (String[] args){
printNum(5);
}
public static void printNum (int n){
int k=1, sum=0;
for (int i=1; i<=n; i++){
sum=0;
for(int j=1; j<=i; j++){
System.out.print(k);
sum = sum+k;
k++;
}
System.out.print(" =" + sum);
System.out.println();
}
}
}
真正的問題是如何只使用一個for循環?
跟蹤行號,例如
int line = 1; // line number
int count = 0; // number of numbers on the line
for(int x = 0; x <= 45; x++){
if (count == line){
System.out.println(""); // move to a new line
count = 0; // set count back to 0
line++; // increment the line number by 1
}
System.out.print(x); // keep on printing on the same line
System.out.print(" "); // add a space after you printed your number
count++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.