我有关于循环的作业,但我很困难。 require输出应为:
***
***
***
当你输入3
我的代码输出是
*
*
*
*
*
*
当我输入3.这是我的代码:
package square_display;
import java.util.Scanner;
public class Square_display
{
public static void main(String[] args)
{
Scanner input= new Scanner(System.in);
System.out.print("Please enter positive number: ");
int number =input.nextInt();
while (number > 15 || number<=0)
{
System.out.println("Don't input value greater than 15"
+ " and negative number");
System.out.print("Enter number again: ");
number=input.nextInt();
}
for(int row=0; row<number;row++)
{
for (int colum = 0; colum < number ; colum++)
{
System.out.println("X");
}
}
感谢您的帮助
答案 0 :(得分:2)
因为您使用的是println
,所以它会将每个字符放在一个单独的行上。您需要在内部循环中使用print
,在外部循环中使用空白println
。
for(int row=0; row<number;row++)
{
for (int colum = 0; colum < number ; colum++)
{
System.out.print("X");
}
System.out.println();
}
答案 1 :(得分:1)
过去的美好时光啊。高中作业? 无论如何,我发现你的问题是一个小错误
问题是System.out.println所以基本上你的循环结束了&#34; \ n&#34;或新线。你不想要那个。所以只需做一个正常的System.out.print
此外,现在您的星星只会水平对齐,因此您需要它们在达到用户输入的数字时开始换行。所以在你的第一个中添加一个println,这样你的for循环看起来就像这样
for(int row=0; row<number;row++)
{
for (int colum = 0; colum < number ; colum++)
{
System.out.print("X");
}
System.out.println();
}
如果你想要真正的想象,你可以通过要求他输入行和列号来给予用户更多的控制权。
System.out.print("Please enter the number of stars in a row: ");
int rowNumber =input.nextInt();
System.out.print("Please enter the number of stars in a column: ");
int columnNumber =input.nextInt();
boolean rowNumberTrue = false;
boolean columnNumberTrue = false;
while (!rowNumberTrue && !columnNumberTrue)
{
if (rowNumber > 15 || rowNumber<=0 ) {
System.out.println("Don't input value greater than 15"
+ " and negative number");
System.out.print("Enter row number again: ");
rowNumber = input.nextInt();
}
else
rowNumberTrue = true;
if (columnNumber > 15 || columnNumber<=0 ) {
System.out.println("Don't input value greater than 15"
+ " and negative number");
System.out.print("Enter column number again: ");
columnNumber = input.nextInt();
}
else
columnNumberTrue = true;
}
for(int row=0; row<rowNumber;row++)
{
for (int colum = 0; colum < columnNumber ; colum++)
{
System.out.print("*");
}
System.out.println("");
}
享受,希望编程在未来为您提供良好的服务。
答案 2 :(得分:0)
改变你的循环
for(int row=0; row<number;row++)
{
for (int colum = 0; colum < number ; colum++)
{
System.out.print("X");
}
System.out.println();
}
答案 3 :(得分:0)
for (int row = 0; row < number; row++) {
for (int colum = 0; colum < number; colum++) {
System.out.print("*");
}
System.out.println("");
}
答案 4 :(得分:0)
尝试这样的事情
for (int row = 0; row < num; row++) {
for (int col = 0; col < num; col++) {
System.out.print("*");
}
System.out.println();
}