Java 使用日数创建数字模式

Java 使用日数创建数字模式,java,numbers,days,Java,Numbers,Days,好的,我需要用日数做一个数字模式,例如:1-周一,2-周二,3-周三到7-周日。如果输入“n”,我将得到以下结果: n=4 1234 n=7 1234567 n=12 1234567123445 如果n14我得到: n=17 123456771234567810 应该是什么时候: n=17 1234567123 这是我的密码 for (x=1;x<=n;x++){ System.out.print(x+" "); if (x==7){ for (x=1;x&

好的,我需要用日数做一个数字模式,例如:1-周一,2-周二,3-周三到7-周日。如果输入“n”,我将得到以下结果:

n=4
1234

n=7
1234567

n=12
1234567123445

如果n14我得到:
n=17
123456771234567810
应该是什么时候:
n=17
1234567123

这是我的密码

for (x=1;x<=n;x++){
    System.out.print(x+" ");
    if (x==7){
        for (x=1;x<=(n-7);x++)
        System.out.print(x+" ");
        break;
    }
}
对于(x=1;x请尝试以下方法:

for (int i = 0; i < n; i++)
    System.out.print(i % 7 + 1 + " ");

你到底有什么问题,或者你到底想实现什么?更好看的代码?如果n>14,那么我编写的程序就不符合模式,例如n=16,它的结尾是:1234567123456789,而它应该是:1234567712@user2868984
%
运算符获取
i之间除法的剩余部分
7
,我们添加
1
来获得
1..7
范围内的数字,而不是
0..6
。这是一个算术技巧,与字符串格式无关。顺便问一下,这是唯一的方法吗?我的意思是,有没有办法像我尝试的那样使用if?@user2868984没有,当然可以用你的方法,但正如您所看到的,获得正确的索引和条件需要一些技巧。试着按照您的方式来做,只是为了练习;)有什么提示说明我做错了什么,或者我必须补充什么吗?哈哈;)哇,我是用条件语句做的!!我将if条件更改为
if(x==7&&(n-7)7)
with
x=0;n-=7;继续作为语句。非常感谢你的想法!!!
1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3