用java重复一个程序
我一直试图重复这个程序,但当我重复的时候,我总是会出错。我以前重复过,但它要求在每行星号后重复。这就是我到目前为止所做的:用java重复一个程序,java,repeat,Java,Repeat,我一直试图重复这个程序,但当我重复的时候,我总是会出错。我以前重复过,但它要求在每行星号后重复。这就是我到目前为止所做的: import java.util.Scanner; public class Pyramid { //Displaying a Pyramid public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //Get user input = number
import java.util.Scanner;
public class Pyramid
{
//Displaying a Pyramid
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
//Get user input = number of rows to print in a pyramid
System.out.print("Enter an integer for the number of rows: ");
int userInput = scanner.nextInt();
scanner.close();
int myLevel;
int i, j , k;
myLevel = userInput;
for (i = 1; i <= myLevel; i++) {
for (k =1; k <= myLevel-i; k++)
System.out.print(" ");
for (j = k+1; j <=myLevel; j++)
System.out.print( "*");
for(int l=myLevel;l>k-1;l--)
System.out.print( "*");
System.out.println("");
System.out.println("You want to continue : (Y/N) ");
} while("Y".equalsIgnoreCase(scanner.next().trim()));
}
}
import java.util.Scanner;
公共阶层金字塔
{
//展示金字塔
公共静态void main(字符串[]args)
{
扫描仪=新的扫描仪(System.in);
//Get user input=要在金字塔中打印的行数
System.out.print(“为行数输入一个整数:”);
int userInput=scanner.nextInt();
scanner.close();
int-myLevel;
int i,j,k;
myLevel=用户输入;
对于(i=1;i我猜您想重复上述逻辑-对吗
如果是这种情况,请不要关闭扫描仪
此外,您的while格式错误
while("Y".equalsIgnoreCase(scanner.next().trim()));
在这种情况下,将;
放在末尾将导致无休止的循环
试一试
代码末尾有一个空while语句。您正在尝试读取不存在的输入。您需要将整个程序封装在一个循环中。在有输入之前不需要循环
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
do{
//Get user input = number of rows to print in a pyramid
System.out.print("Enter an integer for the number of rows: ");
int userInput = scanner.nextInt();
int myLevel;
int i, j , k;
myLevel = userInput;
for (i = 1; i <= myLevel; i++) {
for (k =1; k <= myLevel-i; k++)
System.out.print(" ");
for (j = k+1; j <=myLevel; j++)
System.out.print( "*");
for(int l=myLevel;l>k-1;l--)
System.out.print( "*");
System.out.println("");
}
System.out.println("You want to continue : (Y/N) ");
} while("Y".equalsIgnoreCase(scanner.next().trim()));
}
publicstaticvoidmain(字符串[]args){
扫描仪=新的扫描仪(System.in);
做{
//Get user input=要在金字塔中打印的行数
System.out.print(“为行数输入一个整数:”);
int userInput=scanner.nextInt();
int-myLevel;
int i,j,k;
myLevel=用户输入;
对于(i=1;你能更清楚地了解你的代码中发生了什么吗?你能公布你的错误吗?你看到了什么错误?你的问题与网络编程有什么关系?这似乎与我在这里看到的任何问题都相去甚远。你需要阅读while循环。请查看这里的教程:,我将采用l删除网络编程标签太麻烦了,因为它只会分散你的注意力。你要非常小心地使用正确的标签,以免混淆那些想帮助你的人。哎呀,别再烦我了。
Scanner scanner = new Scanner(System.in);
do {
myMethod (scanner);
System.out.println("You want to continue : (Y/N) ");
} while("Y".equalsIgnoreCase(scanner.next().trim()));
scanner.close ();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
do{
//Get user input = number of rows to print in a pyramid
System.out.print("Enter an integer for the number of rows: ");
int userInput = scanner.nextInt();
int myLevel;
int i, j , k;
myLevel = userInput;
for (i = 1; i <= myLevel; i++) {
for (k =1; k <= myLevel-i; k++)
System.out.print(" ");
for (j = k+1; j <=myLevel; j++)
System.out.print( "*");
for(int l=myLevel;l>k-1;l--)
System.out.print( "*");
System.out.println("");
}
System.out.println("You want to continue : (Y/N) ");
} while("Y".equalsIgnoreCase(scanner.next().trim()));
}