Java 输入是程序应该打印的元素数

Java 输入是程序应该打印的元素数,java,integer,sequence,element,Java,Integer,Sequence,Element,我想写一个程序,打印一系列整数,这些整数写在一行中,数字之间用空格隔开。程序的输入是一个称为n的正整数,这是程序应该打印的序列元素数 例如,如果n=7,则程序应输出1 2 3 3 4 这是我的代码: import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n;

我想写一个程序,打印一系列整数,这些整数写在一行中,数字之间用空格隔开。程序的输入是一个称为n的正整数,这是程序应该打印的序列元素数

例如,如果n=7,则程序应输出1 2 3 3 4

这是我的代码:

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n;
        n = scanner.nextInt();
        while (n == 0) {
            n = scanner.nextInt();
            for (int i = n; i <= n; i++) {
                System.out.println(i * n);
            }
        }
    }
}
import java.util.Scanner;
班长{
公共静态void main(字符串[]args){
扫描仪=新的扫描仪(System.in);
int n;
n=scanner.nextInt();
而(n==0){
n=scanner.nextInt();

对于(inti=n;i,我不确定是否理解您,但是下面的代码

import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(final String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int n;
        while ((n = scanner.nextInt()) > 0) {
            int count = 0;
            for (int i = 1; i < n && count < n; i++) {
                for (int j = 1; j <= i && count < n; j++) {
                    System.out.print(i + " ");
                    count++;
                }
            }
            System.out.println();
        }

    }
}
因为我从你的例子中假设行为:

例如,如果n=7,则程序应输出1 2 3 3 4


我相信这可以被重写为更高效的代码(但对您来说更脏的代码)。

我不确定是否理解您的意思,但是下面的代码

import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(final String[] args) throws IOException {
        Scanner scanner = new Scanner(System.in);
        int n;
        while ((n = scanner.nextInt()) > 0) {
            int count = 0;
            for (int i = 1; i < n && count < n; i++) {
                for (int j = 1; j <= i && count < n; j++) {
                    System.out.print(i + " ");
                    count++;
                }
            }
            System.out.println();
        }

    }
}
因为我从你的例子中假设行为:

例如,如果n=7,则程序应输出1 2 3 3 4


我相信这可以被改写成更高效的代码(但对你来说更脏的代码)。

下面是一种注释方法

n = scanner.nextInt();
int viewNumber = 1;// for printing number
while (n > 0) {    // if any number printing left 
  for (int i = 1; i <= viewNumber; i++) { // This loop print viewNumber viewNumber's times
    System.out.print(viewNumber + " ");
    n--;           // decrease n value after printing a number
    if(n == 0) {   // break the loop if print n numbers already
      break;
    }
  }
  viewNumber++;    // increase view number after showing it's that times
}
n=scanner.nextInt();
int viewNumber=1;//用于打印数字
而(n>0){//如果还有任何数字

对于(inti=1;i,这里有一种注释方法

n = scanner.nextInt();
int viewNumber = 1;// for printing number
while (n > 0) {    // if any number printing left 
  for (int i = 1; i <= viewNumber; i++) { // This loop print viewNumber viewNumber's times
    System.out.print(viewNumber + " ");
    n--;           // decrease n value after printing a number
    if(n == 0) {   // break the loop if print n numbers already
      break;
    }
  }
  viewNumber++;    // increase view number after showing it's that times
}
n=scanner.nextInt();
int viewNumber=1;//用于打印数字
而(n>0){//如果还有任何数字

对于(inti=1;i试试这个,我使用了2作为循环

    public static void main(String[] args) {
        
           Scanner scanner = new Scanner(System.in);
           System.out.println("Please enter any digit");
            int n;
            n = scanner.nextInt();
            for(int a = 0;n>=a;a++) {
             
                for (int i = 0; a > i; i++) {
                    System.out.print(" "+a);
                
                }
            }
        }
投入:5
输出:123434455

试试这个,我用了2个for循环

    public static void main(String[] args) {
        
           Scanner scanner = new Scanner(System.in);
           System.out.println("Please enter any digit");
            int n;
            n = scanner.nextInt();
            for(int a = 0;n>=a;a++) {
             
                for (int i = 0; a > i; i++) {
                    System.out.print(" "+a);
                
                }
            }
        }
投入:5
输出:1 2 3 3 4 4 4 4 5 5 5 5 5是的,它应该是n,我改变了它。为什么你在while循环中再次输入
n
呢?是的,我想也许这是一种使输出中元素的数量等于nyeah的方法,它应该是n,我改变了它。为什么你在while loo中再次输入
n
p?是的,我想也许这是一种使输出中元素的数量等于n的方法