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