双阵列不会打印

时间:2014-11-12 18:00:09

标签: java parallel-arrays

我在这个程序上做了一些更多的工作,但现在我被卡住了,因为字符串数组打印,但我不能在我的生活中得到双数组打印。任何帮助将不胜感激!

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





        }


    }

3 个答案:

答案 0 :(得分:0)

那是因为你要为两个for循环中的字符串数组分配一个字符串。

product= sc.toString();

应该是

product[i] = sc.toString();

和itemCost一样。

答案 1 :(得分:0)

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

product= sc.toString();

itemCost= sc.nextDouble();

应改为

product[i]  = sc.nextLine();

itemCost[i] = sc.nextDouble();

和itemCost一样。

答案 2 :(得分: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();
 }