如何在java中打印数字和“*”组合
我的计划如下:如何在java中打印数字和“*”组合,java,Java,我的计划如下: 1* 2*2* 3*3*3* 1 2*2 3*3*3 2*2 1 封装简单错误; 公共类简单{ 公共静态无效主字符串arg[]{ 对于int i=1;i请不要在此处提出此类问题。您的问题答案可能如下所示,但再次不要在此处提出此类问题 public class simple { public static void main (String arg[]) { for( int i = 1; i <= 3; i++ ){ for( int j = 0; j < i;
1*
2*2*
3*3*3*
1
2*2
3*3*3
2*2
1
封装简单错误;
公共类简单{
公共静态无效主字符串arg[]{
对于int i=1;i请不要在此处提出此类问题。您的问题答案可能如下所示,但再次不要在此处提出此类问题
public class simple {
public static void main (String arg[])
{
for( int i = 1; i <= 3; i++ ){
for( int j = 0; j < i; j++ ){
if(j== i-1)
{
System.out.print(i);
}
else
{
System.out.print(i+"*");
}
}
System.out.println("");
}
}
}
此代码将起作用。请尝试此………:
public class simple {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n;
n=3;
for(int i=1;i<2*n;i++){
if(i<=n){
for(int j=1;j<i;j++){
System.out.print(i+"*");
}
System.out.println(i);
}
else{
for(int j=i+1;j<2*n;j++){
System.out.print(2*n-i+"*");
}
System.out.println(2*n-i);
}
}
}
}
编辑:
已经有一段时间了,我学到了一些东西
你可以使用流
private static void print(int num) {
IntStream.concat(
IntStream.iterate(1, (i) -> ++i).limit(num),
IntStream.iterate(num - 1, (i) -> --i).limit(num).limit(num - 1))
.boxed()
.map(i -> Stream.generate(i::toString).limit(i).collect(Collectors.joining("*")))
.forEach(System.out::println);
}
试一试
欢迎来到StackOverflow,我建议你回顾一下我在Java编程课上也做过同样的事情…好吧,然后我们问这样的问题,试着自己解决,这样你才能理解编程的基本概念对不起,JClassic,我在过去两天被吸了!!非常感谢!!
public static void main(String[] args) {
int limit=5;
int rows=limit+(limit-1);
int center=(int) Math.ceil(((double)rows/2));
boolean centerReached=false;
for(int i=1;i<=limit&&i>0;){
for(int j=1;j<=i;j++){
System.out.print(i);
if(i==j)
continue;
System.out.print("*");
}
if(center==i)
centerReached=true;
if(centerReached)
i--;
else
i++;
System.out.println();
}
}
1
2*2
3*3*3
4*4*4*4
5*5*5*5*5
4*4*4*4
3*3*3
2*2
1