使用for循环的Java打印模式
我需要得到以下模式 开发了以下代码使用for循环的Java打印模式,java,Java,我需要得到以下模式 开发了以下代码 public static void main(String[] args) { int number = 9; for(int i=0;i<9;i++){ for(int j=0;j<18;j++){ if(number==6) continue; System.out.prin
public static void main(String[] args) {
int number = 9;
for(int i=0;i<9;i++){
for(int j=0;j<18;j++){
if(number==6)
continue;
System.out.print(number);
}
if(number != 6)
System.out.println();
number--;
}
}
publicstaticvoidmain(字符串[]args){
整数=9;
对于(int i=0;i如果(j=18-数字)
系统输出打印(编号);
其他的
系统输出打印(“”);
如果(j=18-数字)
系统输出打印(编号);
其他的
系统输出打印(“”);
您可以尝试以下方法:
public class CurveOutput {
public static void main(String args[]) {
int startNumber = 9;
for (int currentNum = startNumber; currentNum >= 0; currentNum--) {
StringBuilder line = new StringBuilder();
for (int i = 0; i < currentNum; i++) {
line.append(currentNum);
}
for (int i = 0; i < startNumber - currentNum; i++) {
line.append(" ");
}
System.out.println(line.toString() + line.reverse().toString());
}
}
}
你可以试试这个:
public class CurveOutput {
public static void main(String args[]) {
int startNumber = 9;
for (int currentNum = startNumber; currentNum >= 0; currentNum--) {
StringBuilder line = new StringBuilder();
for (int i = 0; i < currentNum; i++) {
line.append(currentNum);
}
for (int i = 0; i < startNumber - currentNum; i++) {
line.append(" ");
}
System.out.println(line.toString() + line.reverse().toString());
}
}
}
在我看来,它实际上是在正确的抽象层次上编程
要求不是在开头或结尾放尽可能多的空格,而是将数字向左或向右对齐。如果有这样的功能,它会更好,而且很可能更可读。有这样的功能:
public static void main(String args[]) {
int startNumber = 9;
for (int i = startNumber; i > 0; i--) {
String numberToPrint = Strings.repeat("" + i, i); // from Google Guava
String leftHalf = String.format("%-" + startNumber + "s", numberToPrint);
String rightHalf = String.format("%" + startNumber + "s", numberToPrint);
System.out.printf("%s%s%n", leftHalf, rightHalf);
}
}
在我看来,它实际上是在正确的抽象层次上编程
要求不是在开头或结尾放尽可能多的空格,而是将数字向左或向右对齐。如果有这样的功能,它会更好,而且很可能更可读。有这样的功能:
public static void main(String args[]) {
int startNumber = 9;
for (int i = startNumber; i > 0; i--) {
String numberToPrint = Strings.repeat("" + i, i); // from Google Guava
String leftHalf = String.format("%-" + startNumber + "s", numberToPrint);
String rightHalf = String.format("%" + startNumber + "s", numberToPrint);
System.out.printf("%s%s%n", leftHalf, rightHalf);
}
}
试试这个
int num=9,save=9;
for(int i=1;i<10;i++)
{
for(int j=1;j<=18&&num!=6;j++)
{
int t=save-num;
if(((j<=(9-t)) || (j>(9+t))))
System.out.print(num);
else
System.out.print(" ");
}
num=num-1;
System.out.println("\n");
}
int num=9,save=9;
对于(inti=1;i试试这个
int num=9,save=9;
for(int i=1;i<10;i++)
{
for(int j=1;j<=18&&num!=6;j++)
{
int t=save-num;
if(((j<=(9-t)) || (j>(9+t))))
System.out.print(num);
else
System.out.print(" ");
}
num=num-1;
System.out.println("\n");
}
int num=9,save=9;
对于(int i=1;iq17包;
公开课Q17{
公共静态void main(字符串[]args){
int x=9,y=10;
对于(int i=x;i>=1;i--){
如果(i==6){
x--;
y++;
继续;
}
对于(int j=1;j=x)和(jq17包;
公开课Q17{
公共静态void main(字符串[]args){
int x=9,y=10;
对于(int i=x;i>=1;i--){
如果(i==6){
x--;
y++;
继续;
}
对于(int j=1;j=x)和(j工作代码:
改进了“Joby Wilson Mathews”的代码(建议队列已满,重新发布)
注意:以前的代码在第4行打印一个空行,现在已修复。还提供了到输出图像的链接。工作代码:
改进了“Joby Wilson Mathews”的代码(建议队列已满,重新发布)
注意:以前的代码在第4行打印一个空行,现在已修复。还提供了到输出图像的链接
int num = 9, save = 9;
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= 18 && num != 6; j++) {
int t = save - num;
if (((j <= (9 - t)) || (j > (9 + t)))) {
System.out.print(num);
} else {
System.out.print(" ");
}
}
num = num - 1;
if (num != 6) {
System.out.println();
}
}
}
999999999999999999
88888888 88888888
7777777 7777777
55555 55555
4444 4444
333 333
22 22
1 1