gpt4 book ai didi

java - 如何使用 if/else 树中的变量值作为随后 while 循环的变量值

转载 作者:行者123 更新时间:2023-12-02 08:16:06 24 4
gpt4 key购买 nike

这是我到目前为止编写的程序代码。它说我还没有初始化答案。我想在 if/else 树执行后使用 answer 的值将数字转换为星号。

import java.io.*;
import java.util.*;

public class Project5 {
public static void main(String[] args){
System.out.println("Please enter a formula of this form:operator,operand,operand(ex. add,2,2):");
// wanted to change things but was not sure how far I was allowed to go so I used commas instead of spaces
//was trying to split with a delimiter but kept getting an error [Ljava.lang.String;@55e83f9
Scanner input = new Scanner(System.in);
String formula = input.nextLine();
System.out.println(formula);
String oper = formula.substring(0,3);
System.out.println(oper);
String fnum = formula.substring(4,5);
System.out.println(fnum);
String snum = formula.substring(6,7);
System.out.println(snum);
double freal = Integer.parseInt(fnum);
System.out.println(freal);
double sreal = Integer.parseInt(snum);
double answer;
if (oper.equalsIgnoreCase("add") == true){
answer = freal+sreal;
System.out.println(answer);
}
else if(oper.equalsIgnoreCase("subtract") == true){
answer = freal-sreal;
System.out.println(answer);
}
else if(oper.equalsIgnoreCase("multiply") == true){
answer = freal*sreal;
System.out.println(answer);
}
else if(oper.equalsIgnoreCase("divide") == true){
answer = freal/sreal;
System.out.println(answer);
}
else
System.out.println("not valid.");

while(answer > 0){
System.out.print("*");
answer--;
}
}}

最佳答案

因为在最后的 else 分支中,您没有为 answer 分配值。如果这是执行的树,那么当您进入 while 循环时,它将是未定义的。您可以通过最初将 answer 初始化为某个值或确保 if/else 树的每个分支都为 answer 分配一个值来解决此问题。

编辑要解决您的问题,请更改

double answer;

double answer = 0.0;

这将解决问题。

关于java - 如何使用 if/else 树中的变量值作为随后 while 循环的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398402/

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