我必须编写一个程序,以使其打印如下三角形:
如果用户提供输入3,则输出应为:
final UploadTask uploadTask = bytepath.putBytes(thumb_byte_data);
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
@Override
public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
// Continue with the task to get the download URL
return filepath.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
if (task.isSuccessful()) {
thumb_download_url = task.getResult().toString();
}
}
});
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
如果用户输入4,则输出应为:
3
23
123
所以我写了以下代码:
4
34
234
1234
但是代码的输出是这样的: 如果我输入3:
Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();
for(int maincount=1; maincount<=row;maincount++){
for(int spcount=1;spcount<=row-maincount;spcount++){
System.out.print(" ");
}
//int numprint=row;
for(int numcount=1;numcount<=maincount;numcount++){
System.out.print(/*numprint*/numcount);
//numprint--;
}
System.out.println("");
}
它看起来非常接近输出,因此尝试查找问题
我使用了另一个变量“ numprint”而不是“ numcount”。 (我注释掉了我使用numprint的部分);但这一次的输出是:
1
12
123
我想出的替代方案找不到任何可以显示与所需输出类似的解决方案。
答案 0 :(得分:1)
我想这就是你想要的:
//STEP40 EXEC SORTD
//SORTIN DD DSN=FILEONE(0),
// DISP=SHR
//SORTOUT DD DSN=&&TEMP,
// DISP=(NEW,PASS,DELETE),
// DCB=(RECFM=FB,LRECL=30050,BLKSIZE=0),
// UNIT=TAPE
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(14,6,PD,A,8,6,PD,A,45,2,ZD,A)
OUTREC IFTHEN=(WHEN=(70,18,CH,EQ,C' encoding="IBM037"'),
OVERLAY=(70:C' encoding="UTF-8"'))
OPTION DYNALLOC=(SYSDA,255)
/*
使用Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();
for (int i=1; i<row+1; i++) {
for (int j=1; j<row+1; j++) {
if (j > row - i) {
System.out.print(j);
} else {
System.out.print(" ");
}
}
System.out.println();
}
进行外部迭代可确保两件事:
i
跳到下一行使用System.out.println();
进行的内部迭代确保仅打印数字序列。关键是确定是否打印空白j
或数字。 " "
是条件。
答案 1 :(得分:0)
尝试一下:-
Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();
for (int maincount = 1; maincount <= row; maincount++) {
for (int spcount = 1; spcount <= row - maincount; spcount++) {
System.out.print(" ");
}
int numprint = row;
String str = "";
for (int numcount = 1; numcount <= maincount; numcount++) {
str = numprint + str;
numprint--;
}
System.out.print(str);
System.out.println("");
}
答案 2 :(得分:0)
您可以尝试
Scanner sc=new Scanner(System.in);
System.out.println("Enter number of rows");
int row=sc.nextInt();
for (int i = 1; i <= row; i++) {
for(int j = 0; j < row - i; j++) {
System.out.print(" ");
}
int temp = row - (i -1);
for (int j = 0; j < i; j++) {
System.out.print(temp++);
}
System.out.println("");
}