首页 > 解决方案 > 我想在最后一行打印 ainput,它应该与答案 JAVA ARRAY 形成一个总和解决方案

问题描述

我无法在底部打印所有数组。

源代码:

import java.util.*;
public class Main {
   public static void main(String[] args)
   {
     Scanner x = new Scanner (System.in);
     System.out.print("Enter the number of bills: ");
     int numbills = x.nextInt();
     
     int myArray[]=new int[numbills];
     int sum = 0;

     for(int i = 0; i<myArray.length;i++)
      {
         System.out.print("Bill #" +(i+1)+": ");
         myArray[i]=x.nextInt();
         sum = sum+myArray[i];

         if (i<myArray.length-1)
         {
            
            System.out.print(myArray[i]);
            System.out.print("+ ");
         }
      }
      
    
      System.out.print(" = "+sum);
   
   }      
}

输出:

Enter the number of bills: 2
Bill #1: 100
100+ Bill #2: 200
 = 300

可能的输出:

Enter the number of bills: 2
Bill #1: 100
Bill #2: 200
100 + 200 = 300

标签: java

解决方案


问题是您正在接受输入并将其打印在同一个 for 循环中。
您可以使用 2 个 for 循环(一个用于输入,一个用于输出)。
或者您可以将其存储在同一循环中的字符串中,并在循环结束后打印。

String sumstr = "";
for(int i = 0; i<myArray.length;i++)
{
   System.out.print("Bill #" +(i+1)+": ");
   myArray[i]=x.nextInt();
   sum = sum+myArray[i];

   if (i>0)
   {
       sumstr = sumstr + "+";
   }
   sumstr = sumstr + myArray[i];
}
System.out.print(sumstr + " = "+sum);

推荐阅读