我需要编写一个程序来询问用户符号之间的空格数。例如,
& & &
& & &
& & &
用户将输入一个整数,符号之间的间距应该改变。 我现在有以下代码: import java.util.Scanner;
public class Spacing
{
public static void main(String[]args)
{
Scanner c=new Scanner(System.in);
System.out.println("Enter spaces between stars: ");
int l=c.nextInt();
String a="*";
String b=" ";
for(int i=0;i<5;i++)
{
for(int j=0;j<l;j++)
{
System.out.print(a+b);
}
System.out.println();
}
}
}
我知道如何改变符号的数量和行数。但问题是如何改变空间的数量。我觉得好像有一个for循环但是我没有如何把一个放进去。 任何帮助将不胜感激。
答案 0 :(得分:1)
这可以提高可读性并在代码中引入一些模块化:
import java.util.Scanner;
public class Spacing {
public static void main(String[]args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter spaces between stars: ");
int numSpaces =scanner.nextInt();
String charToDisplay = "*";
String spaces = buildNSpaces(numSpaces);
int numberOfRows = 3;
int numberOfCharactersPerRow = 3;
for(int i = 0; i < numberOfRows; i++) {
for(int j=0; j < numberOfCharactersPerRow; j++) {
System.out.print(charToDisplay+spaces);
}
System.out.println();
}
}
private static String buildNSpaces(final int numSpaces) {
StringBuilder builder = new StringBuilder();
for(int i = 0; i < numSpaces; i++) {
builder.append(" ");
}
return builder.toString();
}
}
答案 1 :(得分:0)
for(int i = 0;i < l;i++)
{
System.out.print(" ");
}
上面的代码将打印您输入的空格数。
所以你可以使用它:
for(int i = 0; i < 3; i++)
{
System.out.print("&");
for(int j = 0; j < l; j++)
System.out.print(" ");
}
这将打印出来
& & &
(最后&
之后还有3个空格)
如果您在l
输入3。
答案 2 :(得分:-1)
你需要另一个变量而另一个变量用于循环
尝试这个
public class Spacing
{
public static void main(String[]args)
{
Scanner c=new Scanner(System.in);
System.out.println("Enter spaces between stars: ");
int l=c.nextInt();
String a="*";
String b=" ";
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{
System.out.print(a);
for(int k=0;k<l;k++)
{
System.out.print(b);
}
}
System.out.println();
}
}
}