双阵列无法打印



我在这个程序上做了更多的工作,但现在我被卡住了,因为字符串数组会打印,但我一辈子都无法打印双数组。任何帮助都将不胜感激!

import java.util.ArrayList; 
import java.util.Arrays;
import java.lang.Double; 
import java.util.Scanner;
public class inventoryTracker
   {
      private static Scanner sc;
    private static double itemCost;
    public static void main(String[] args)
      {
     System.out.println("Welcome to the Inventory tracker"
            + "nThis program will accept the names and costs for 10 stocked items."
            + "nThe program will then output a table with the names, costs and,"
            + "nprices of the items."
            + "nPrices are calculated with a 30 percent markup on cost.");
    sc = new Scanner(System.in);
   String[] product = new String[10];
   Double[] itemCost = new Double[10];

   for (int i = 0; i < itemCost.length; i++ ){
         System.out.print("Enter the item cost :");
         itemCost [i]= sc.nextDouble();
   }
    for (int i = 0; i < product.length; i++){
            System.out.print("Enter the product name :");
            product[i] = sc.next();
    }  
    System.out.println(Arrays.toString(product));


        }

    }

这是因为在两个for循环中,要将字符串分配给字符串数组。

product= sc.toString();

应该是

product[i] = sc.toString();

itemCost也是如此。

这是因为在两个for循环中,要将一个字符串分配给一个字符串数组。此外,您正在执行sc.toString()操作,这是不正确的。

product= sc.toString();

itemCost= sc.nextDouble();

应该改为

product[i]  = sc.nextLine();

itemCost[i] = sc.nextDouble();

itemCost也是如此。

您需要使用index来设置一个值,如:

product[index] = value;

此外,您还使用sc.toString()从用户那里获取字符串。它不起作用,您需要使用next()方法从用户那里获取字符串。

循环应该像:

 for (int i = 0; i < product.length; i++){
    System.out.print("Enter the product name :");
    product[i] = sc.next();
 }
 for (int i = 0; i < itemCost.length; i++ ){
     System.out.print("Enter the item cost :");
     itemCost [i]= sc.nextDouble();
 }

相关内容

  • 没有找到相关文章

最新更新