我希望我的程序能够写出您输入的数字。例如。 52 =五十二。 我在这做错了什么??? 它不想接受这些单词,但我不能将变量更改为字符串,所以我卡住了!
import javax.swing.*;
public class Switch
{
public static void main (String [] args )
{
int number = Integer.parseInt (JOptionPane.showInputDialog("Type in a number between 0 - 100 :") );
int num1 = 0;
int num2 = 0;
switch( num1 )
{
case 1 : num1 = "One" ;break;
case 2 : num1 = "Two";break;
case 3 : num1 = "Three";break;
case 4 : num1 = "Four";break;
case 5 : num1 = "Five";break;
case 6 : num1 = "Six";break;
case 7 : num1 = "Seven";break;
case 8 : num1 = "Eight";break;
case 9 : num1 = "Nine";break;
default: System.out.println("Incorrect input");
break;
}
switch( num2 )
{
case 1 : num2 = "Teen";break;
case 2 : num2 = "Twenty";break;
case 3 : num2 = "Thirty";break;
case 4 : num2 = "Fourty";break;
case 5 : num2 = "Fifty";break;
case 6 : num2 = "Sixty";break;
case 7 : num2 = "Seventy";break;
case 8 : num2 = "Eighty";break;
case 9 : num2 = "Ninety";break;
default: System.out.println("Incorrect input");
break;
}
System.out.println(num1 + num2);
}
}
答案 0 :(得分:0)
您的变量num1和num2是整数,您要为它们分配字符串值。那不会奏效。 所以你可以有另一个字符串变量来存储字符串的值。
但最重要的是,将数字转换为单词的逻辑是错误的。尝试调试并纠正它。
答案 1 :(得分:0)
如果您在切换前指定int num1 = 0; int num2 = 0;
,则与写作相同:
switch(0) {}
尝试正确初始化num1
和num2
。
你也试着把字符串放到一个int变量中,就像@Matt Clark补充的那样。
答案 2 :(得分:0)
您正在应用始终为0且不在输入上的num1和num2上的开关。您还要为int类型分配字符串值。
如果你想使用switch来实现你想要的东西,你需要使用string [index]将输入字符串分成数字,但这似乎不是一个非常好的方法。
答案 3 :(得分:0)
您不能在switch语句中将String赋值给int变量。 因此,首先将num1和num2的数据类型更改为String。
String num1;
String num2;
然后在case语句中它应该是case“1”而不是case 1
case "1" : num1 = "One" ;break;
case "2" : num1 = "Two";break;
case "3" : num1 = "Three";break;
case "4" : num1 = "Four";break;
case "5" : num1 = "Five";break;
case "6" : num1 = "Six";break;
case "7" : num1 = "Seven";break;
case "8" : num1 = "Eight";break;
case "9" : num1 = "Nine";break;
如果您将输入作为整数,则将整数转换为String
的数组 int number = Integer.parseInt (JOptionPane.showInputDialog("Type in a number between 0 - 100 :") );
String num=Integer.toString(number);
char[] sNums = num.toCharArray();
String num2 =String.valueOf(sNums[0]) ;
String num1 = String.valueOf(sNums[1]);
如果用户输入单个数字,则逻辑应如下:
int number = Integer.parseInt(JOptionPane
.showInputDialog("Type in a number between 0 - 100 :"));
String num = Integer.toString(number);
char[] sNums = num.toCharArray();
String num2 = String.valueOf(sNums[0]);
String num1 = "";
if (sNums.length > 1) {
num1 = String.valueOf(sNums[1]);
} else {
num1 = num2;
num2 = "";
}