Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java的建议(换行)_Java - Fatal编程技术网

使用Java的建议(换行)

使用Java的建议(换行),java,Java,我的java项目需要一些帮助。我想做的是让用户输入一个数字,然后我的程序将从1开始打印该数字。我还将字段宽度添加到了5。我现在要做的是换行:例如,第一行有1个字符,下一行有2个,然后下一行有3个,依此类推。从开始到每行的字段宽度也将增加。这是我的密码: import java.util.Scanner; public class ProjectB { public static void main(String[] args) { printNumbersB(0);

我的java项目需要一些帮助。我想做的是让用户输入一个数字,然后我的程序将从1开始打印该数字。我还将字段宽度添加到了5。我现在要做的是换行:例如,第一行有1个字符,下一行有2个,然后下一行有3个,依此类推。从开始到每行的字段宽度也将增加。这是我的密码:

import java.util.Scanner;

public class ProjectB {

    public static void main(String[] args) {
        printNumbersB(0);
    }

    public static void printNumbersB(int x){

        Scanner input = new Scanner(System.in);

        System.out.print("Please put in: ");
        x = input.nextInt();

        for(int y = 1; y <= x; y++){



            System.out.printf("%5d", y);


            input.close();

        }

    }
}
import java.util.Scanner;
公共类项目B{
公共静态void main(字符串[]args){
打印号码SB(0);
}
公共静态无效打印编号SB(int x){
扫描仪输入=新扫描仪(System.in);
系统输出打印(“请输入:”);
x=input.nextInt();

对于(int y=1;y我不明白你想要做什么。但从我的理解来看,这就是你想要的:

public static void main(String[] args) {
    printNumbersB();
}

public static void printNumbersB(){

    Scanner input = new Scanner(System.in);
    System.out.print("Please put in: ");
    x = input.nextInt();
    //Should use String Builder
    String accumlationString = "";
    for(int y = 1; y <= x; y++){

        System.out.printf(accumulationString + "%5d",  y);
     accumulationString = accumulationString + "%5d";
;

        input.close();

    }

}
}
试试这个:

int n = 45;
int counter = 1;
for (int i = 1; i < n; i++) {
    for (int j = i; j < counter + i; j++) {
        System.out.printf("%" + counter + "d", j);
    }
    i += counter - 1;
    System.out.println();
    counter++;
}
int n=45;
int计数器=1;
对于(int i=1;i
try
System.out.printf(“\n%5d”,y);
或使用
println
而不是
printf
,这没有任何帮助。这只是把所有东西放在一起…你能添加预期的输出吗?@user2819522,所以不清楚在这种情况下你想要什么输出:1 2 3 4 5 6 7 8 9 10 11 12 13 14等等。你可以初始化/增加
计数器和
i
同一行:<代码>(int i=1,计数器=1;i+n;i++,计数器++){< /代码> @ alFasin修正它。底部代码片段应该工作,我有点快。考虑取消投票。取消投票。我不赞成,因为我不喜欢使用标签,对不起。
public static void main(String[] args) {
    printNumbersB();
}
int n = 45;
int counter = 1;
for (int i = 1; i < n; i++) {
    for (int j = i; j < counter + i; j++) {
        System.out.printf("%" + counter + "d", j);
    }
    i += counter - 1;
    System.out.println();
    counter++;
}