这个程序应该带一个带有字母的电话号码,并将其翻译成所有数字,但我在编译时一直收到这三个错误。
Phone_ronhoward.java:30:错误:'else'没有'if'else if(letter< 'G')^
Phone_ronhoward.java:73:错误:')'预期为(int i = 0; i< phoneNumber.length;我++;) ^
Phone_ronhoward.java:73:错误:非法启动表达式(int i = 0;我< phoneNumber.length;我++;) ^
3个错误
import java.util.Scanner;
public class Phone_ronhoward
{
public static char getNumber(char upperCaseLetter)
{
char returnValue = 0;
if(letter < 'A')
{
returnValue = '0';
}
else if(letter < 'D');
{
returnValue = '2';
}
else if(letter < 'G')
{
returnValue = '3';
}
else if(letter < 'J')
{
returnValue = '4';
}
else if(letter < 'M')
{
returnValue = '5';
}
else if(letter < 'P')
{
returnValue = '6';
}
else if(letter < 'T')
{
returnValue = '7';
}
else if(letter < 'W')
{
returnValue = '8';
}
else if(letter <= 'Z')
{
returnValue = '9';
}
else
{
returnValue = '0';
}
return returnValue;
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.print("Enter the phone number string: ");
String phoneNumber = input.nextLine().toUpperCase();
for(int i = 0; i < phoneNumber.length; i++;)
{
getNumber();
}
}
}
答案 0 :(得分:1)
else if(letter < 'D');
之后你有一个额外的分号,只需删除它:
else if(letter < 'D')
答案 1 :(得分:1)
为了防止您的问题,将所有数字转换为零:
public static char getNumber(char upperCaseLetter)
{
char returnValue;
if((letter >= 'A') && (letter < 'D'))
{
returnValue = '2';
}
else if(letter < 'G')
{
returnValue = '3';
}
else if(letter < 'J')
{
returnValue = '4';
}
else if(letter < 'M')
{
returnValue = '5';
}
else if(letter < 'P')
{
returnValue = '6';
}
else if(letter < 'T')
{
returnValue = '7';
}
else if(letter < 'W')
{
returnValue = '8';
}
else if(letter <= 'Z')
{
returnValue = '9';
}
else
{
returnValue = upperCaseLetter;
}
return returnValue;
}
答案 2 :(得分:0)
请尝试以下代码(我已经测试过):
import java.util.Scanner;
public class Phone_ronhoward {
public static char getNumber(char letter) {
char returnValue = 0;
if (letter < 'A') {
returnValue = '0';
} else if (letter < 'D') {
returnValue = '2';
} else if (letter < 'G') {
returnValue = '3';
} else if (letter < 'J') {
returnValue = '4';
} else if (letter < 'M') {
returnValue = '5';
} else if (letter < 'P') {
returnValue = '6';
} else if (letter < 'T') {
returnValue = '7';
} else if (letter < 'W') {
returnValue = '8';
} else if (letter <= 'Z') {
returnValue = '9';
} else {
returnValue = '0';
}
return returnValue;
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Enter the phone number string: ");
String phoneNumber = scan.nextLine().toUpperCase();
for (int i = 0; i < phoneNumber.length(); i++) {
System.out.println(getNumber(phoneNumber.charAt(i)));
}
}
}