gpt4 book ai didi

java - 如何将方法中用户输入的所有输出相加?

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:59 24 4
gpt4 key购买 nike

我正在为 CS 类(class)开发这个程序,希望用户输入每个硬币的金额,向他们显示所述硬币数量的货币值(value),然后将每个输出的货币相加。

到目前为止,我所拥有的允许某人输入每种硬币的金额并显示多少硬币,但我似乎不知道如何在最后将所有货币值(value)相加。我需要一个单独的方法来调用从每个方法返回的所有资金的金额。任何帮助,将不胜感激!这是我到目前为止所拥有的:

import java.util.*;

public class Coins {
public static final Scanner CONSOLE = new Scanner(System.in);

public static void main(String[] args) {
quarterDollarAmount( );
dimeDollarAmount( );
nickelDollarAmount( );
pennyDollarAmount( );
}

public static void quarterDollarAmount( ) {
System.out.print("Enter the number of quarters: ");
int quarterAmount = CONSOLE.nextInt( );
double amount = quarterAmount * 0.25;
System.out.println(quarterAmount + " quarter are $" + amount);
}

public static void dimeDollarAmount( ) {
System.out.print("Enter the number of dimes: ");
int dimeAmount = CONSOLE.nextInt( );
double amount = dimeAmount * 0.1;
System.out.println(dimeAmount + " dimes are $" + amount);
}

public static void nickelDollarAmount( ) {
System.out.print("Enter the number of nickels: ");
int nickelAmount = CONSOLE.nextInt( );
double amount = nickelAmount * 0.05;
System.out.println(nickelAmount + " nickels are $" + amount);
}

public static void pennyDollarAmount( ) {
System.out.print("Enter the number of pennies: ");
int pennyAmount = CONSOLE.nextInt( );
double amount = pennyAmount * 0.01;
System.out.println(pennyAmount + " pennies are $" + amount);
}
}

好的,所以我将所有方法更改为与各自的硬币类型类似:

 public static double pennyDollarAmount( ) {
System.out.print("Enter the number of pennies: ");
int pennyAmount = CONSOLE.nextInt( );
double amount = pennyAmount * 0.01;
System.out.println(pennyAmount + " pennies are $" + amount);
return amount;
}

并添加了方法:

public static double totalDollarAmount( ) {
double quarters = quarterDollarAmount();
double dimes = dimeDollarAmount();
double nickels = nickelDollarAmount();
double pennies = pennyDollarAmount();
int total = quarters + dimes + nickels + pennies;
System.out.println("Total amount is $" + total);
}
}

但是现在,编译器输出显示(由于显而易见的原因,我已经删除了我的系统详细信息):

1 error found:
File: /Users//Documents/Semester 2/CS/Coins.java [line: 51]
Error: /Users//Documents/Semester 2/CS/Coins.java:51: possible loss of precision
found : double
required: int

并将光标置于 + in + pennys; 之前。知道这意味着什么吗?

最佳答案

您需要return amount; 并将所有与金钱相关的函数的返回类型从void 更改为double

public static double quarterDollarAmount( ) {
System.out.print("Enter the number of quarters: ");
int quarterAmount = CONSOLE.nextInt( );
double amount = quarterAmount * 0.25;
System.out.println(quarterAmount + " quarter are $" + amount);
return amount;
}

然后在调用函数时捕获变量中的返回值。

double quarters = quarterDollarAmount();
...
double pennies = pennyDollarAmount();

然后您可以将存储在这些变量中的值相加,并对结果执行您想要的操作。

double total = quarters + ... + pennies;

关于java - 如何将方法中用户输入的所有输出相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21562306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com