Java I';我很难把这两种方法联系起来
我正在创建一个银行账户程序,我正在这样做,以便余额始终以美元为单位,但问题是我不知道如何将这些方法组合在一起。这是我的一点代码。我想问的是,converter方法如何获得switch语句中使用的值?我尝试了多种不同的方法,但总是存在范围问题或重复变量Java I';我很难把这两种方法联系起来,java,Java,我正在创建一个银行账户程序,我正在这样做,以便余额始终以美元为单位,但问题是我不知道如何将这些方法组合在一起。这是我的一点代码。我想问的是,converter方法如何获得switch语句中使用的值?我尝试了多种不同的方法,但总是存在范围问题或重复变量 public static double convertCurrency(double amount, int currencyType, boolean isConvertToUSD){ // checks what type of c
public static double convertCurrency(double amount, int currencyType, boolean isConvertToUSD){
// checks what type of currency was chosen and converts each it into US dollars
}
}
public static int currencyMenuOptionSelector(Scanner console){
while(true){
System.out.println("Please select the currency type:");
System.out.println("1. U.S. Dollars");
System.out.println("2. Euros");
System.out.println("3. British Pounds");
System.out.println("4. Indian Rupees");
System.out.println("5. Australian Dollars");
System.out.println("6. Canadian Dollars");
System.out.println("7. Singapore Dollars");
System.out.println("8. Swiss Francs");
System.out.println("9. Malaysian Ringgits");
System.out.println("10. Japanese Yen");
System.out.println("11. Chinese Yuan Renminbi");
int currencyType = console.nextInt();
switch (currencyType){
// cases 1-11 simply establishes each currency as a variable (not all cases are listed to avoid redundancy)
case 1: {
double USA = 1.00;
}
case 2: {
double Euro = 0.89;
default: {
System.out.println("Input failed validation. Please try again.");
continue;
}
}
}
}
您可能应该将开关移到另一个方法,因为这是进行计算的地方 您似乎走在正确的道路上,但需要提示输入要转换的金额
System.out.print("Enter the type of currency: ");
int currencyType = Integer.parseInt(console.nextLine());
System.out.print("Enter currency amount: ");
double amount = Double.parseDouble(console.nextLine());
if (currencyType < 1 || currencyType > 11) {
// TODO: Handle invalid input.
}
boolean toUSD = currencyType == 1;
double convertedAmount = convertCurrency(amount, currencyType, toUSD);
System.out.print(“输入货币类型:”);
int currencyType=Integer.parseInt(console.nextLine());
系统输出打印(“输入货币金额:”);
double amount=double.parseDouble(console.nextLine());
如果(currencyType<1 | | currencyType>11){
//TODO:处理无效输入。
}
布尔toUSD=currencyType==1;
double convertedAmount=convertCurrency(金额、币种类型、TOSD);
你需要
break代码>在您的案例中。您可能应该将开关移到另一种方法,因为这是计算发生的地方
您似乎走在正确的道路上,但需要提示输入要转换的金额
System.out.print("Enter the type of currency: ");
int currencyType = Integer.parseInt(console.nextLine());
System.out.print("Enter currency amount: ");
double amount = Double.parseDouble(console.nextLine());
if (currencyType < 1 || currencyType > 11) {
// TODO: Handle invalid input.
}
boolean toUSD = currencyType == 1;
double convertedAmount = convertCurrency(amount, currencyType, toUSD);
System.out.print(“输入货币类型:”);
int currencyType=Integer.parseInt(console.nextLine());
系统输出打印(“输入货币金额:”);
double amount=double.parseDouble(console.nextLine());
如果(currencyType<1 | | currencyType>11){
//TODO:处理无效输入。
}
布尔toUSD=currencyType==1;
double convertedAmount=convertCurrency(金额、币种类型、TOSD);
你需要break代码>在你的箱子里。这是我的代码。你可以试试,告诉我是否符合你的要求。
和
范围问题或重复变量
你们相遇可能是因为你们并没有写返回语句,也并没有在任何一个开关的情况下写“break”
public class ConverTest {
public static double convertCurrency(double amount, int currencyType, boolean isConvertToUSD){
// checks what type of currency was chosen and converts each it into US dollars
System.out.println("the input type:" + currencyType); //you say you want to get the values used in my switch
// statement.
return 0.01; //i don't know what u want to do in this meshod.
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
convertCurrency(100.0, currencyMenuOptionSelector(in), true);
}
public static int currencyMenuOptionSelector(Scanner console) {
while (true) {
System.out.println("Please select the currency type:");
System.out.println("1. U.S. Dollars");
System.out.println("2. Euros");
System.out.println("3. British Pounds");
System.out.println("4. Indian Rupees");
System.out.println("5. Australian Dollars");
System.out.println("6. Canadian Dollars");
System.out.println("7. Singapore Dollars");
System.out.println("8. Swiss Francs");
System.out.println("9. Malaysian Ringgits");
System.out.println("10. Japanese Yen");
System.out.println("11. Chinese Yuan Renminbi");
int currencyType = console.nextInt();
switch (currencyType) {
// cases 1-11 simply establishes each currency as a variable (not all cases are listed to avoid redundancy)
case 1: {
double USA = 1.00;
return currencyType;
}
case 2: {
double Euro = 0.89;
return currencyType;
}
default: {
System.out.println("Input failed validation. Please try again.");
continue;
}
}
}
}
}
这是我的代码。你可以试试,告诉我是否符合你的要求。
和
范围问题或重复变量
你们相遇可能是因为你们并没有写返回语句,也并没有在任何一个开关的情况下写“break”
public class ConverTest {
public static double convertCurrency(double amount, int currencyType, boolean isConvertToUSD){
// checks what type of currency was chosen and converts each it into US dollars
System.out.println("the input type:" + currencyType); //you say you want to get the values used in my switch
// statement.
return 0.01; //i don't know what u want to do in this meshod.
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
convertCurrency(100.0, currencyMenuOptionSelector(in), true);
}
public static int currencyMenuOptionSelector(Scanner console) {
while (true) {
System.out.println("Please select the currency type:");
System.out.println("1. U.S. Dollars");
System.out.println("2. Euros");
System.out.println("3. British Pounds");
System.out.println("4. Indian Rupees");
System.out.println("5. Australian Dollars");
System.out.println("6. Canadian Dollars");
System.out.println("7. Singapore Dollars");
System.out.println("8. Swiss Francs");
System.out.println("9. Malaysian Ringgits");
System.out.println("10. Japanese Yen");
System.out.println("11. Chinese Yuan Renminbi");
int currencyType = console.nextInt();
switch (currencyType) {
// cases 1-11 simply establishes each currency as a variable (not all cases are listed to avoid redundancy)
case 1: {
double USA = 1.00;
return currencyType;
}
case 2: {
double Euro = 0.89;
return currencyType;
}
default: {
System.out.println("Input failed validation. Please try again.");
continue;
}
}
}
}
}
在哪里调用转换器方法?而且在每种情况下都应该有一个中断
为了防止falltroughI想在存款方法和取款方法中调用converter方法(这些不在我发布的代码中)。变量是在switch语句中声明的,我猜正是因为这个原因,您才会遇到范围问题。switch语句关闭时,任何其他代码都无法访问这些变量。将变量声明为全局变量,看看这是否解决了问题。在哪里调用converter方法?而且在每种情况下都应该有一个中断
为了防止falltroughI想在存款方法和取款方法中调用converter方法(这些不在我发布的代码中)。变量是在switch语句中声明的,我猜正是因为这个原因,您才会遇到范围问题。switch语句关闭时,任何其他代码都无法访问这些变量。将变量声明为全局变量,看看这是否解决了问题。这并不是我想要它做的。您的代码返回用户输入的选项号。我的意图是获取用户选择的货币,然后将该货币转换为美元。在我写出来的转换方法中,我可以以什么方式使用变量USA或Euro?对不起,如果我的问题不是很清楚,我可能会发表另一篇文章,提供更多关于我项目的信息。这不是我想要它做的。你的代码返回用户输入的选择号。我的意图是获取用户选择的货币,然后将该货币转换为美元。在我写出来的转换方法中,我可以以什么方式使用变量USA或Euro?对不起,如果我的问题不是很清楚,我可能会在另一篇文章中提供更多关于我的项目的信息。这将是完美的,但我需要有我的方法结构类似于我上面的方法。当我将switch语句移动到另一个方法时,我的验证就被搞砸了。我尝试在默认情况下调用currencyMenuOptionSelector(console)方法,但收到错误消息“console无法解析为变量”。我是否缺少/做错了什么?在default
块上不需要大括号。default
只是另一个case
语句这将是完美的,但我需要让我的方法的结构与上面的方法类似。当我将switch语句移动到另一个方法时,我的验证就被搞砸了。我尝试在默认情况下调用currencyMenuOptionSelector(console)方法,但收到错误消息“console无法解析为变量”。我是否缺少/做错了什么?在default
块上不需要大括号。default
只是另一个case
语句