Java 变量在初始化和声明时可能尚未初始化
编译时,它表示变量secondNumberString可能尚未初始化。但我已将其声明为字符串,并在secondNumber开关中对其进行了初始化。我做错了什么?我只想把secondNumber,比如说他们输入5,转换成一个名为seondNumberString的字符串,并将其设为5,然后显示它。它必须使用开关Java 变量在初始化和声明时可能尚未初始化,java,Java,编译时,它表示变量secondNumberString可能尚未初始化。但我已将其声明为字符串,并在secondNumber开关中对其进行了初始化。我做错了什么?我只想把secondNumber,比如说他们输入5,转换成一个名为seondNumberString的字符串,并将其设为5,然后显示它。它必须使用开关 /* Programmer: Date: Wednesday, October 8, 2014 Description: A simple calculator */ import
/*
Programmer:
Date: Wednesday, October 8, 2014
Description: A simple calculator
*/
import javax.swing.JOptionPane; // Imports the JOptionPane class
public class CalculatorStevenHasaka
{
public static void main(String[] args)
{
String input; // To temporarily hold the input
String firstNumberString; // To hold the string name of the first number
String secondNumberString; // To hold the string name of the second number
String operatorString; // To hold the string name of the operator
int firstNumber; // To hold the first number
int secondNumber; // To hold the second number
int answer; // To hold the answer
char operator; // To hold the operator
// Ask the user for a number from 0-9 (The first number)
input = JOptionPane.showInputDialog(null, "Please enter the first number. \nIt must be from 0 to 9. \nNo decimals, please.", "Calculator v1.0", JOptionPane.QUESTION_MESSAGE);
// Convert the input to an integer
firstNumber = Integer.parseInt(input);
// Validate the input of firstNumber
while (firstNumber < 0 || firstNumber > 9)
{
// Ask the user for a number from 0-9
input = JOptionPane.showInputDialog(null, "Invalid number! \nIt must be a number from 0 to 9. \nNo decimals, please.", "Invalid Number", JOptionPane.WARNING_MESSAGE);
// Convert the number to an integer
firstNumber = Integer.parseInt(input);
} // End of firstNumber validation
// Ask the user for an operator
input = JOptionPane.showInputDialog(null, "Please input an operator. \nYou can use +, -, *, /, or ^", "Calculator v1.0", JOptionPane.QUESTION_MESSAGE);
// Convert the input to a character
operator = input.charAt(0);
// Validate the input of the operator
while ((operator != '+') && (operator != '-') && (operator != '*') && (operator != '/') && (operator != '^'))
{
// Ask the user for an operator
input = JOptionPane.showInputDialog(null, "Invalid operator! \nYou can only use +, -, *, /, or ^", "Invalid Operator", JOptionPane.WARNING_MESSAGE);
// Convert the input to a character
operator = input.charAt(0);
} // End of operator validation
// Ask the user for a number from 0-9 (The second number)
input = JOptionPane.showInputDialog(null, "Please enter the second number. \nIt must be from 0 to 9. \nNo decimals, please.", "Calculator v1.0", JOptionPane.QUESTION_MESSAGE);
// Convert the number to an integer
secondNumber = Integer.parseInt(input);
// Validate the input of secondNumber
while (secondNumber < 0 || secondNumber > 9)
{
//Ask the user for a number from 0-9
input = JOptionPane.showInputDialog(null, "Invalid number! \nIt must be a number from 0 to 9. \nNo decimals, please.", "Invalid Number", JOptionPane.WARNING_MESSAGE);
// Convert the number to an integer
secondNumber = Integer.parseInt(input);
} // End of secondNumber validation
// Convert firstNumber to a string
switch (firstNumber)
{
case 0:
firstNumberString = "Zero";
break;
case 1:
firstNumberString = "One";
break;
case 2:
firstNumberString = "Two";
break;
case 3:
firstNumberString = "Three";
break;
case 4:
firstNumberString = "Four";
break;
case 5:
firstNumberString = "Five";
break;
case 6:
firstNumberString = "Six";
break;
case 7:
firstNumberString = "Seven";
break;
case 8:
firstNumberString = "Eight";
break;
case 9:
firstNumberString = "Nine";
break;
default:
JOptionPane.showMessageDialog(null, "Invalid input!", "Error", JOptionPane.ERROR_MESSAGE);
} // End of firstNumber switch
// Convert secondNumber to a string
switch (secondNumber)
{
case 0:
secondNumberString = "zero";
break;
case 1:
secondNumberString = "one";
break;
case 2:
secondNumberString = "two";
break;
case 3:
secondNumberString = "three";
break;
case 4:
secondNumberString = "four";
break;
case 5:
secondNumberString = "five";
break;
case 6:
secondNumberString = "six";
break;
case 7:
secondNumberString = "seven";
break;
case 8:
secondNumberString = "eight";
break;
case 9:
secondNumberString = "nine";
break;
default:
JOptionPane.showMessageDialog(null, "Invalid input!", "Error", JOptionPane.ERROR_MESSAGE);
} // End of secondNumber switch
// Convert operator to a string and perform the calculations
if (operator == '+')
{
operatorString = "plus";
answer = firstNumber + secondNumber;
JOptionPane.showMessageDialog(null, "Blah: " + secondNumberString);
}
else if (operator == '-')
{
operatorString = "minus";
}
else if (operator == '*')
{
operatorString = "multiplied by";
}
else if (operator == '/')
{
operatorString = "divided by";
}
else if (operator == '^')
{
operatorString = "to the power of";
}
else
{
JOptionPane.showMessageDialog(null, "Invalid input!", "Error", JOptionPane.ERROR_MESSAGE);
} // End of operator if/else if/else
} // End of main
} // End of public class
/*
程序员:
日期:2014年10月8日星期三
描述:一个简单的计算器
*/
导入javax.swing.JOptionPane;//导入JOptionPane类
公共类计算器Tevenhasaka
{
公共静态void main(字符串[]args)
{
字符串输入;//临时保存输入
String firstNumberString;//保存第一个数字的字符串名称
String secondNumberString;//保存第二个数字的字符串名称
String运算符String;//保存运算符的字符串名称
int firstNumber;//保存第一个数字
int secondNumber;//保存第二个数字
int-answer;//保存答案
char运算符;//保留运算符
//要求用户输入0-9之间的数字(第一个数字)
input=JOptionPane.showInputDialog(null,“请输入第一个数字。\n它必须在0到9之间。\n请不要小数。”,“Calculator v1.0”,JOptionPane.QUESTION\u消息);
//将输入转换为整数
firstNumber=Integer.parseInt(输入);
//验证firstNumber的输入
而(firstNumber<0 | | firstNumber>9)
{
//请用户输入0-9之间的数字
input=JOptionPane.showInputDialog(null,“无效数字!\n它必须是0到9之间的数字。\n请不要小数。”,“无效数字”,JOptionPane.WARNING\u消息);
//将数字转换为整数
firstNumber=Integer.parseInt(输入);
}//firstNumber验证结束
//向用户询问操作员
input=JOptionPane.showInputDialog(null,“请输入运算符。\n您可以使用+、-、*、/、或^”,“计算器v1.0”,JOptionPane.QUESTION\u消息);
//将输入转换为字符
运算符=输入字符(0);
//验证操作员的输入
而((运算符!='+')&&&(运算符!='-')&&&(运算符!='*')&&&(运算符!='/')&&(运算符!='^'))
{
//向用户询问操作员
input=JOptionPane.showInputDialog(null,“无效运算符!\n您只能使用+、-、*、/、或^”,“无效运算符”,JOptionPane.WARNING\u消息);
//将输入转换为字符
运算符=输入字符(0);
}//运算符验证结束
//要求用户输入0-9之间的数字(第二个数字)
input=JOptionPane.showInputDialog(null,“请输入第二个数字。\n它必须在0到9之间。\n请不要小数。”,“Calculator v1.0”,JOptionPane.QUESTION\u消息);
//将数字转换为整数
secondNumber=Integer.parseInt(输入);
//验证secondNumber的输入
而(秒数<0 | |秒数>9)
{
//请用户输入0-9之间的数字
input=JOptionPane.showInputDialog(null,“无效数字!\n它必须是0到9之间的数字。\n请不要小数。”,“无效数字”,JOptionPane.WARNING\u消息);
//将数字转换为整数
secondNumber=Integer.parseInt(输入);
}//第二个数字验证结束
//将firstNumber转换为字符串
开关(第一个号码)
{
案例0:
firstNumberString=“零”;
打破
案例1:
firstNumberString=“一”;
打破
案例2:
firstNumberString=“两”;
打破
案例3:
firstNumberString=“三”;
打破
案例4:
firstNumberString=“四”;
打破
案例5:
firstNumberString=“五”;
打破
案例6:
firstNumberString=“六”;
打破
案例7:
firstNumberString=“七”;
打破
案例8:
firstNumberString=“八”;
打破
案例9:
firstNumberString=“九”;
打破
违约:
showMessageDialog(null,“无效输入!”,“错误”,JOptionPane.Error\u消息);
}//第一个数字开关的结尾
//将secondNumber转换为字符串
开关(第二个号码)
{
案例0:
secondNumberString=“零”;
打破
案例1:
secondNumberString=“一”;
打破
案例2:
secondNumberString=“两”;
打破
案例3:
secondNumberString=“三”;
打破
案例4:
secondNumberString=“四”;
打破
案例5:
secondNumberString=“五”;
打破
案例6:
secondNumberString=“六”;
打破
案例7:
secondNumberString=“七”;
打破
案例8:
secondNumberString=“八”;
打破
案例9:
secondNumberString=“九”;
打破
违约:
showMessageDialog(null,“无效输入!”,“错误”,JOptionPane.Error\u消息);
}//第二个数字开关结束
//将运算符转换为字符串并执行计算
if(运算符=='+')
{
运算符字符串=“plus”;
答案=第一个数字+第二个数字;
showMessageDialog(null,“Blah:+secondNumberString”);
}
else if(运算符=='-')
{
运算符字符串=“负”;
}
else if(运算符=='*')
default:
JOptionPane.showMessageDialog(null, "Invalid input!", "Error", JOptionPane.ERROR_MESSAGE);
// Convert secondNumber to a string
switch (secondNumber)
{
case 0:
secondNumberString = "zero";
break;
case 1:
secondNumberString = "one";
break;
case 2:
secondNumberString = "two";
break;
case 3:
secondNumberString = "three";
break;
case 4:
secondNumberString = "four";
break;
case 5:
secondNumberString = "five";
break;
case 6:
secondNumberString = "six";
break;
case 7:
secondNumberString = "seven";
break;
case 8:
secondNumberString = "eight";
break;
case 9:
secondNumberString = "nine";
break;
default:
JOptionPane.showMessageDialog(null, "Invalid input!", "Error", JOptionPane.ERROR_MESSAGE);
} // End of secondNumber switch
secondNumberString = null or secondNumberString = ""