-2

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

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));





        }


    }
4

3 回答 3

0

您需要使用 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();
 }
于 2014-11-12T18:06:39.560 回答
0

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

product= sc.toString();

应该

product[i] = sc.toString();

itemCost 也是如此。

于 2014-11-12T18:03:28.617 回答
0

那是因为您在两个 for 循环中将字符串分配给字符串数组。你也在做不正确的 sc.toString() 。

product= sc.toString();

itemCost= sc.nextDouble();

应该改为

product[i]  = sc.nextLine();

itemCost[i] = sc.nextDouble();

itemCost 也是如此。

于 2014-11-12T18:05:54.187 回答