Java数字符号和星号
请帮帮我:我想试试直角的星号和数字符号。但我只得到了这个输出:我不能把数字符号放在这里Java数字符号和星号,java,loops,Java,Loops,请帮帮我:我想试试直角的星号和数字符号。但我只得到了这个输出:我不能把数字符号放在这里 * ** *** **** ***** ****** 我想要的是,如果我输入6,输出为: * # * # * # * # * 示例如果输入3,则输出为: * # * # * # * # * 以下是我编写的代码: public static void main (String[] args) { Scanner i
*
**
***
****
*****
******
我想要的是,如果我输入6,输出为:
*
#
*
#
*
#
*
#
*
示例如果输入3,则输出为:
*
#
*
#
*
#
*
#
*
以下是我编写的代码:
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
int x=0;
System.out.println("Enter number: ");
x = in.nextInt();
for( int i = 1; i <= x; i++ ){
for( int j = 0; j < i; j++ ){
System.out.print("*");
}
System.out.println();
}
}
}
用……代替
这将通过测试行和列的位置并写入正确的字符来写入正确的输出。我建议您创建一个保存符号的字符数组。您可以使用一个计数器变量,并以这样的方式使用它,即在每次迭代时,它将指向要显示的字符的索引
char sym[] = {'#', '*'};
int n = user's input, i,j,c=0;
for(i = 1; i<=n; i++){
for(j = 1; j<i; j++)
System.out.print(" "); //space
System.out.print(sym[c]);
c = (c+1)%2;
System.out.println();
}
注意:注意我使用变量c基本上保持一个整数,当它除以2得到索引时,求余数
对于n的大输入值,这是一个非常糟糕的主意,但对于您所使用的类型,这将起作用。您需要在内部循环中保留打印空间,一旦它从内部循环打印出来,打印*和/或相应地打印
Scanner in = new Scanner(System.in);
int x=0;
System.out.println("Enter number: ");
x = in.nextInt();
for(int i=1;i<=x;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
if(i%2==1)
{
System.out.println("*");
}else
{
System.out.println("#");
}
}
只要有奇数和偶数值的条件,在奇数和*上放置,从1开始j的值,内部for循环的条件应该有j
这应该可以做到,快速且简单。您的代码甚至可以打印替代符号吗?试着至少在交替符号上做些工作。暂时忽略该模式。然后想出一些不起作用的东西。对不起,我是新手,那么我该怎么做才能得到这个程序呢?我刚刚试过,它工作正常。你试过了吗?@nullpointer:你说请仔细阅读问题,模式不同。在我的回答中,有两种模式,正如你应该看到的,我已经读过了?。既然你知道你的怀疑是错误的,你就谈谈评论。同样,您没有仔细阅读我的回答:我在代码后面写了关于它如何工作的解释。现在,要求提供一个远程java编译器链接是。。。20个字符的代码太棒了:我告诉过你它适合我。如果你不相信我,就自己试试吧。和我一样。保持怀疑,谈论事实。
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter number: ");
int x = in.nextInt();
String spaces = "";
boolean star = true;
for (int i = 0; i < x; i++) {
System.out.println(spaces + (star ? "*" : "#"));
spaces += " ";
star = !star;
}
}