用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()));
    }