Java 数组错误I';我正对着扫描器

Java 数组错误I';我正对着扫描器,java,arrays,java.util.scanner,Java,Arrays,Java.util.scanner,我正在做一项任务。需要并行阵列。。。我需要几件事的帮助,至少三件事 第一个问题是我一直运行程序。我该怎么办 在print语句中添加空格?结果是这样的 “周一SODA1.0” 另一个问题是“1.0”,我的价格显然是“1.25”,但是 为什么要打印“1.0” 最后,如果我在星期二输入,它会问“你在一周中的哪一天做?” 你想要……“它仍然打印出周一的信息。怎么办 我给它编码,如果你在星期二输入,它不会打印任何东西 全部 在这一点上,我将感谢任何帮助 import java.util.Scanner

我正在做一项任务。需要并行阵列。。。我需要几件事的帮助,至少三件事

  • 第一个问题是我一直运行程序。我该怎么办 在print语句中添加空格?结果是这样的 “周一SODA1.0”
  • 另一个问题是“1.0”,我的价格显然是“1.25”,但是 为什么要打印“1.0”
  • 最后,如果我在星期二输入,它会问“你在一周中的哪一天做?” 你想要……“它仍然打印出周一的信息。怎么办 我给它编码,如果你在星期二输入,它不会打印任何东西 全部
在这一点上,我将感谢任何帮助

import java.util.Scanner;
public class Cafeteria  
{
public static void main (String [] args)
{

  String [] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday   ", "Saturday   ", "Sunday   "};   
  String [] drinks = {"Soda", "Sweet Tea", "Lemonade", "Frozen Lemonade", "Coffee-Hot", "Coffee-Iced", "Latte"}; 
  double [] price; = {1.25, 1.50, 1.75, 2.00, 2.25, 2.50, 3.75};

  for ( int i = 0; i < days.length; i++)
  {

  }  

  Scanner scan = new Scanner(System.in);
  System.out.println("What is the price of a Soda? ");
  price [0] = scan.nextDouble();

  System.out.println("What is the price of a Sweet Tea? ");
  price [1] = scan.nextDouble();

  System.out.println("What is the price of a Lemonade? ");
  price [2] = scan.nextDouble();

  System.out.println("What is the price of a Frozen Lemonade? ");
  price [3] = scan.nextDouble();

  System.out.println("What is the price of a Coffee-Hot? ");
  price [4] = scan.nextDouble();

  System.out.println("What is the price of a Coffee-Iced? ");
  price [5] = scan.nextDouble();

  System.out.println("What is the price of a Latte? ");
  price [6] = scan.nextDouble();
  System.out.println();

  scan.nextLine();
  System.out.println("Which day of the week do you want the discounted drink price for?");
  String day = scan.nextLine();
  System.out.println();



  System.out.println("Weekday     Drink       Original-Price     Discount-Price");
  System.out.println("----------------------------------------------------------");
  System.out.println(days[0] + drinks[0] + price[0]); //Print out the list of the desire array when you enter a day in


  System.out.println("The highest price drink is latte at $3.75");


 }
}
import java.util.Scanner;
公营自助餐厅
{
公共静态void main(字符串[]args)
{
字符串[]天={“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”、“星期日”};
字符串[]饮料={“苏打水”、“甜茶”、“柠檬水”、“冷冻柠檬水”、“热咖啡”、“冰咖啡”、“拿铁”};
双[]价格;={1.25,1.50,1.75,2.00,2.25,2.50,3.75};
对于(int i=0;i
好了,我们开始

  • 如何在print语句中添加空格

    如下图所示添加空格

    System.out.println(days[0] + "  " + drinks[0] + "  " + price[0]);
    
  • 另一个问题是“1.0”,我的价格显然是“1.25”,但是 为什么要打印“1.0”

    不确定你的意思,但如果你输入1,它会输出1.0,以此类推

  • 您希望一周中的哪一天……”它仍然打印出 星期一的信息。如果你在星期二输入,我该如何编码

    发生这种情况是因为您将输入存储在
    day
    和 正在尝试使用数组
    天的索引
    。只需打印出
    变量,则不需要数组
    days

     System.out.println(day + "  " + drinks[0] + "  " + price[0]);
    
    • 好了,我们开始

      • 如何在print语句中添加空格

        如下图所示添加空格

        System.out.println(days[0] + "  " + drinks[0] + "  " + price[0]);
        
      • 另一个问题是“1.0”,我的价格显然是“1.25”,但是 为什么要打印“1.0”

        不确定你的意思,但如果你输入1,它会输出1.0,以此类推

      • 您希望一周中的哪一天……”它仍然打印出 星期一的消息。如果你在星期二输入,我该如何编码

        发生这种情况是因为您将输入存储在
        day
        和 正在尝试使用数组
        天的索引
        。只需打印出
        日期
        变量,则不需要数组
        days

         System.out.println(day + "  " + drinks[0] + "  " + price[0]);
        

      首先,price变量后面有一个额外的分号,这将导致编译错误:

      double [] price; = {1.25, 1.50, 1.75, 2.00, 2.25, 2.50, 3.75};
      
      其次,您从不使用实例化数组时使用的值,而是在运行程序时分配新值。因此,如果你回答第一个问题——“苏打水的价格是多少?”——1,那么最终结果将是1.0

      第三,要添加所需的空间,只需在打印结果时添加即可:

      System.out.println(days[0] + "  " + drinks[0] + "  " + price[0]);
      

      首先,price变量后面有一个额外的分号,这将导致编译错误:

      double [] price; = {1.25, 1.50, 1.75, 2.00, 2.25, 2.50, 3.75};
      
      其次,您从不使用实例化数组时使用的值,而是在运行程序时分配新值。因此,如果你回答第一个问题——“苏打水的价格是多少?”——1,那么最终结果将是1.0

      第三,要添加所需的空间,只需在打印结果时添加即可:

      System.out.println(days[0] + "  " + drinks[0] + "  " + price[0]);
      

      并行数组不是一个东西,但是您当然可以创建一个新类,例如,dike

      public class Drink {
          String drink;
          double price;
      
          public Drink(String drink) {
              this.drink = drink;
          }
      
          public void setPrice(double price) {
              this.price = price;
          }
      
          public String getDrink() {
              return drink;
          }
      
          public double getPrice() {
              return price;
          }
      }
      
      这样,在获得用户输入后,可以使用构造函数创建饮料,使用setter设置价格。您还可以包括折扣(或当日折扣)或其他内容的字段


      在您的场景中,不确定日期在哪里…

      并行阵列不是一件事,但您当然可以创建一个新类,称为“饮料”

      public class Drink {
          String drink;
          double price;
      
          public Drink(String drink) {
              this.drink = drink;
          }
      
          public void setPrice(double price) {
              this.price = price;
          }
      
          public String getDrink() {
              return drink;
          }
      
          public double getPrice() {
              return price;
          }
      }
      
      这样,在获得用户输入后,可以使用构造函数创建饮料,使用setter设置价格。您还可以包括折扣(或当日折扣)或其他内容的字段


      在您的场景中,不确定日期在哪里…

      java中没有所谓的并行数组。是的,我知道,但我只是为了这个任务而调用它们。lol。除了您之外,没有人理解这个术语。也许你会重新思考,心甘情愿地把你请求帮助的人弄糊涂是多么有趣。换句话说:请提出一个明确的问题,避免任何让阅读变得困难的事情。认真地说。。。我之所以称它们为数组,是因为我的作业有使用“并行”数组的指令。逐字陈述“(你将创建3个平行数组:工作日、饮料和价格)。”我认为