Java 必须制作一个带有嵌套while循环的乘法表\三位数的t间距混乱
打印15乘15的乘法值表。它输出良好,直到10 x 11。然后,由于三位数的值,间距被弄乱了,但我不知道如何修复它。一旦你运行它,你可以看到我的问题。有人能帮忙吗Java 必须制作一个带有嵌套while循环的乘法表\三位数的t间距混乱,java,Java,打印15乘15的乘法值表。它输出良好,直到10 x 11。然后,由于三位数的值,间距被弄乱了,但我不知道如何修复它。一旦你运行它,你可以看到我的问题。有人能帮忙吗 public class Lab7bMultiplicationTable { public static void main(String[] args) { int first = 1; int x = first; while (x <= 15) {
public class Lab7bMultiplicationTable
{
public static void main(String[] args)
{
int first = 1;
int x = first;
while (x <= 15)
{
int y = first;
while (y <= 15)
{
System.out.print(x*y + "\t\t");
y+=1;
}
System.out.println();
x+=1;
}
}
}
公共类LAB7B乘法表
{
公共静态void main(字符串[]args)
{
int first=1;
int x=第一;
而(x如果您的输出设备使用的制表符宽度为3,则只有2位数字才可以,而3位数字则错误,这是非常罕见的。输出的标准制表符宽度为8,这就是我们无法复制您的问题的原因
要使数字始终打印正常,请不要使用制表符。而是使用printf
指定您选择的数字宽度,例如,要处理3位数字,请使用“%-3d”
,其中-
使数字左对齐
此外,您的while
循环可以是简单的for
循环,因为所有循环逻辑都在同一行,因此更易于阅读
int first = 1;
for (int x = first; x <= 15; x += 1) {
for (int y = first; y <= 15; y += 1) {
System.out.printf("%-3d ", x * y);
}
System.out.println();
}
然而,当数字右对齐时,这样的表看起来会更好,所以从格式字符串中删除-
字符
int first = 1;
for (int x = first; x <= 15; x += 1) {
for (int y = first; y <= 15; y += 1) {
System.out.printf("%3d ", x * y);
}
System.out.println();
}
看起来不错。@shmosel你能试着运行一下吗?在右下角,数字开始变成金字塔形状,而不是我做的统一的矩形,看起来不错。这对我来说也很好。唯一的问题是,说明是使用while循环和转义序列作为间隔,我的老师设法做到了这样做一定有我看不到的方法。有没有方法更改选项卡宽度?如果这会影响任何内容,我将使用jgrasp。@C.domingo尝试在命令提示符下运行代码。它的选项卡宽度应为8。否则,请查看命令提示符窗口中是否设置了选项卡宽度。