我正在尝试使用嵌套for循环打印数字序列11223344556677889900
。我不确定打印序列的算法,因为它以00
结束。我有以下方法代码,但我打印00
作为文字,并确信必须有更好的方法。非常感谢任何帮助。
public static void drawNumbers(){
for (int line = 1; line <= 2; line++) {
for (int i =1; i <= 9; i++) {
for (int j =1; j<=2; j++) {
System.out.print(i);
}
}
System.out.print("00");
}
}
答案 0 :(得分:1)
你可以运行&#34; i&#34;循环到10并打印i%10。当值达到10时,这将打印0。
答案 1 :(得分:1)
将循环运行到10而不是:
System.out.print(i);
做的:
System.out.print(i % 10);
public static void drawNumbers(){
for (int line = 1; line <= 2; line++){
for (int i =1; i <= 10; i++){
for (int j =1; j<=2; j++){
System.out.print(i%10);
}
}
}
}
答案 2 :(得分:0)
另一种方法是在for中插入一个if语句,你将检查i的值是否等于&#34; 10&#34;,如果是,它将打印值&#34 ; 00&#34;
答案 3 :(得分:0)
稍微改变逻辑以符合您的要求
public static void drawNumbers() {
for (int line = 1; line <= 1; line++) {
for (int i =1; i <= 10; i++) {
for (int j =1; j<=2; j++) {
if(i==10) {
System.out.print(0);
} else {
System.out.print(i);
}
}
}
}
}
只使用一个循环就像
一样运行public static void drawNumbers() {
for(int i = 1 ;i <= 10; i++) {
if(i ==10) {
System.out.print(0 + "" + 0);
} else {
System.out.print(i + "" + i);
}
}
}
答案 4 :(得分:0)
只打印i
for (int i = 1; i <= 10; i++) {
String s = String.valueOf(i);
int lastDigit = s.length() - 1; // last digit position in string
System.out.print(s.substring(lastDigit, lastDigit + 1)); // print last digit
System.out.print(s.substring(lastDigit, lastDigit + 1)); // print last digit
}
输出:
11223344556677889900