Java 数自身相乘

Java 数自身相乘,java,loops,for-loop,Java,Loops,For Loop,我在练习循环,在本章最后的一个练习中,它要求创建一个乘法表,显示从1到12的整数的乘法结果。这就是我所做的,它产生了一个错误的结果。我肯定我错过了一些简单的东西,但我无法抓住它 public class PP63 { public static void main(String[] args) { final int TOTAL = 12; for(int i = 1; i <= TOTAL; i++) {

我在练习循环,在本章最后的一个练习中,它要求创建一个乘法表,显示从1到12的整数的乘法结果。这就是我所做的,它产生了一个错误的结果。我肯定我错过了一些简单的东西,但我无法抓住它

public class PP63 {

    public static void main(String[] args) {

        final int TOTAL = 12;


        for(int i = 1; i <= TOTAL; i++)
        {
            for(int j = 1; j<=TOTAL; j++)
            {
                System.out.println(i*j);
            }
        }

    }

}
公共类PP63{
公共静态void main(字符串[]args){
最终整数总计=12;

对于(inti=1;i一个问题是这一行:

System.out.println(i*j);
请注意,这是调用
println
,它在自己的行上打印值。如果要在同一行上打印多个值,可以使用
System.out.print
。您需要手动插入空格以确保所有内容都正确对齐,并且还必须插入自己的换行符


希望这能有所帮助!

这里有一个问题是:

System.out.println(i*j);
请注意,这是调用
println
,它在自己的行上打印值。如果要在同一行上打印多个值,可以使用
System.out.print
。您需要手动插入空格以确保所有内容都正确对齐,并且还必须插入自己的换行符


希望这有帮助!

基本上,你想要的是一张表,而不是一张列表

for(int i = 1; i <= TOTAL; i++)
{
    for(int j = 1; j<=TOTAL; j++)
    {
        System.out.print(i*j + "\t");
    }
    System.out.println();
}

for(inti=1;i基本上,您想要的是一个表,而不是列表

for(int i = 1; i <= TOTAL; i++)
{
    for(int j = 1; j<=TOTAL; j++)
    {
        System.out.print(i*j + "\t");
    }
    System.out.println();
}

for(int i=1;i根据您的问题,我认为您将所有结果混合在一行中,因此您应该这样做:

public class PP63
    {
       public static void main (String[] args) {

          // print main table
          for (int i = 1; i <= 12; i++) {
             System.out.print(i + ":");
             for (int j = 1; j <= 12; j++) {
                System.out.print(i*j + " ");
             }
             System.out.println();
          }
       } // end of main
    }
公共类PP63
{
公共静态void main(字符串[]args){
//打印主表

对于(int i=1;i根据您的问题,我认为您将所有结果混合在一行中,因此您应该这样做:

public class PP63
    {
       public static void main (String[] args) {

          // print main table
          for (int i = 1; i <= 12; i++) {
             System.out.print(i + ":");
             for (int j = 1; j <= 12; j++) {
                System.out.print(i*j + " ");
             }
             System.out.println();
          }
       } // end of main
    }
公共类PP63
{
公共静态void main(字符串[]args){
//打印主表

对于(inti=1;i在主方法中使用此代码。我希望您会喜欢它

    final int TOTAL = 12;

    for(int i = 1; i <= TOTAL; i++)
    {
        for(int j = 1; j<=TOTAL; j++)
        {
           if(i*j<10)
              System.out.print(j+"*"+i+" = "+i*j +"     ");
           else if(10<=i*j & i*j<100)
              System.out.print(j+"*"+i+" = "+i*j +"    ");
                   else if(100<=i*j & i*j<1000)
              System.out.print(j+"*"+i+" = "+i*j +"   ");
        }
        System.out.println("");
    }
final int TOTAL=12;

对于(inti=1;i在主方法中使用此代码。我希望您会喜欢它

    final int TOTAL = 12;

    for(int i = 1; i <= TOTAL; i++)
    {
        for(int j = 1; j<=TOTAL; j++)
        {
           if(i*j<10)
              System.out.print(j+"*"+i+" = "+i*j +"     ");
           else if(10<=i*j & i*j<100)
              System.out.print(j+"*"+i+" = "+i*j +"    ");
                   else if(100<=i*j & i*j<1000)
              System.out.print(j+"*"+i+" = "+i*j +"   ");
        }
        System.out.println("");
    }
final int TOTAL=12;

对于(int i=1;i)您可能希望在每个结果后打印空格。:DI测试结果:使用制表符看起来很性感!您可能希望在每个结果后打印空格。:DI测试结果:使用制表符看起来很性感!对于未来的问题,请明确“产生错误结果”的含义。在这种情况下,这很明显,但对于复杂的问题,那么多问题缺乏足够的信息。@ZongZhengLi,这就是为什么你投了反对票?不,我没有投你反对票,尽管我知道为什么其他人会投反对票。对于未来的问题,请明确你所说的“产生错误结果”是什么意思.在这种情况下,这很明显,但对于复杂的问题,那么多问题缺乏足够的信息。@ZongZhengLi,这就是为什么你投了反对票?不,我没有投你反对票,尽管我知道为什么其他人会投你反对票。嗯,那么这比jh314的答案有什么改进?可以说,它的格式和硬编码常量更差。嗯,这在过去是如何改进的jh314的答案是什么?它的格式和硬编码常量可能较差。