当前位置: 首页 > 知识库问答 >
问题:

如何在Java中使用For Loop询问用户输入

秦建元
2023-03-14

这是我的作业:

编写一个模拟收银机的程序。提示用户输入三件商品的价格。将它们相加以获得小计。确定小计的税额(6%)。查找销售小计加税额的总额。显示每件商品的价格、小计金额、税额和最终金额。

我是这样做的:

package cashregisteremulator;

import java.util.Scanner;

public class CashRegisterEmulator {

  public static void main(String[] args) {

    Scanner price = new Scanner(System.in);


    System.out.print("Please enter a price for item number one $");
    double price1 = price.nextDouble();

    System.out.print("Please enter a price for item number two $" );
    double price2 = price.nextDouble();

    System.out.print("Please enter a price for item number three $");
    double price3 = price.nextDouble();

    double total = ((price1) + (price2) + (price3));
    System.out.println("The subtotal is $" + total);

    double tax = .06;

    double totalnotax = (total * tax );
    System.out.println("The tax for the subtotal is $" + totalnotax);
    double totalplustax = (total + totalnotax);
    System.out.println("The total for your bill with tax is $" + totalplustax);

  }
}

然而,我需要使用循环来完成这个任务。因为提示只要求3次迭代,所以我考虑使用for循环。到目前为止,我有:

package CashRegister;

import java.util.Scanner;

 public class CashRegister {

public static void main(String[] args) {
    Scanner askPrice = new Scanner(System.in);  

   for(double i = 0 ; i < 3; i++);  
 {
   System.out.println("Enter a value") ;
   double price = askPrice.nextDouble();



 }
}    
}

我要怎么做才能三次向用户要价?

共有3个答案

汝天宇
2023-03-14

您需要进行三次迭代,对于这种情况,最好使用for循环。为了存储用户输入,您需要一个数组,其中存储值以及for循环中当前位置的索引

我以你的代码为例:

double[] price= new double[3];
for (int i=0; i<3; i++); {
     System.out.println("Enter another ");
     double price[i] = price.nextDouble();
} 

稍后,您可以迭代price数组,并添加所有值:

double total = 0.0;
for (int i=0; i<price.length; i++) {
    total += price[i];
}
孟财
2023-03-14
double sum = 0;
for(int i = ; i < n; i++)
{
    //ask for value;
    sum += value;
}

使现代化

在您的更新中,这必须进入for循环

double[] amount = new int[3];
for(int i = 0; i < amount.len; i++)
{
    // ask user for value
    amount[i] = value;
}

for(int i = 0; i < amount.len; i++)
{
     // do your calculations and print it.
}

// print the total sums.

对于总数,您需要额外的变量。

郎同化
2023-03-14

我不会为您编写所有代码,但这可以使用for循环轻松实现:

int numberOfIterations = 3;

// The format of the for loop:
// for (initialize counter; continuation condition; incrementer)
for(int i = 0; i < numberOfIterations; i++){
    // do something
}
 类似资料:
  • 我正在做一个简单的程序,要求用户输入0-19之间的五个数字。我想在每个数字后面添加一些东西(比如if语句),以确保它在这个范围内。如果不是,程序应该说“请再读指令”,然后system.exit(0)。这段代码是相关的: 如有任何帮助,将不胜感激。

  • 问题内容: 我尝试创建一个计算器,但由于不知道如何获得用户输入而无法使它工作。 如何获得Java中的用户输入? 问题答案: 你可以根据要求使用以下任何选项。 Scanner class BufferedReader and InputStreamReader classes DataInputStream class 该类中的方法已被弃用。若要获取值,应将先前的解决方案与一起使用 Console

  • 我需要从查询a级状态回来。在查询中,我发送两个用户输入:body_weight和lift_weight。因此,任务是:获得最接近的体重值,并比最接近的lift_weight值更接近用户输入并打印出水平示例:用户体重=54 kg,他的lift weight为60 kg,这是使他达到中间水平。 我试着用工会做些什么,但在Mariadb是错误的: 我只想在我的Java专家系统中使用那一行

  • 我需要从用户给出的输入日期打印日历。然而,我不允许使用任何预定的日期类。 目前,我可以打印月份和年份,但是,我似乎不知道如何打印特定月份和年份的日期。我对Java非常陌生,因此非常感谢您的帮助! 以下是所需输出的示例: 以下是我到目前为止的输出: 以下是我迄今为止所尝试的:

  • 问题内容: 我正在尝试为我的程序创建一个简单的菜单来读取用户输入。这是代码: 这是我得到的例外测试: 我从while循环中删除了第二个命令= Scanner.next(),但是让我仅读取一次用户输入。怎么解决呢? 更新:AddWord方法: 问题答案: 您可以使用

  • 问题内容: 该站点仅包含JSON文档,而没有Java客户端。我应该执行某种映射吗? 例如地理位置查询:http : //www.elasticsearch.org/guide/reference/query- dsl/geo-distance-range- filter.html 如何使用Java客户端编写这样的查询? 谢谢杰森 问题答案: 不明显但不那么复杂;)