2016-03-01 65 views
1

我正在尝试编写一个函数,它允许我将输入的字母转换为数字,反之亦然,至此我一直在收集编译错误。我想保持这个小而高效,而不必做一个广泛的if,else if语句。不能将字母转换为数字和反转

这是到目前为止我的代码:

public class CaesarCipher { 

    /* 
    * create function that converts a letter to a number 
    * ex. a -> 0, b -> 1, etc... 
    */ 
    static char letterToNumber (char firstLetter){ 
     if (firstLetter < 'a' || firstLetter > 'z') { 
      throw new IllegalArgumentException("Only lower-case ASCII letters are valid"); 
    } 
    return (char) (firstLetter - 'a'); 
    } 

    /* 
    * function to allow a user input a number and converts to a letter 
    * 0->a and 1->b, etc... 
    */ 
    static int numberToLetter (int firstNumer){ 
     if (firstNumber < '0' || firstNumber > '25'){ 
     } 
     return firstNumber; 
    } 
    public static void main(String[] args) { 
     char a = 0; 
     // TODO Auto-generated method stub 
     System.out.println (letterToNumber (a)); //suppose to compile to convert a -> the number 0 
     System.out.println(numberToLetter (1)); //compile to convert 1 -> the letter b 
    } 

} 
+1

您return语句在未来,如果你问有关与编译器问题错误,然后***显示***与您的问题的错误。有道理,不是吗?另请查看[帮助]以及[如何提出良好问题](http://stackoverflow.com/help/how-to-ask)章节,以获取有关如何改进您的未来问题和提高你获得体面的帮助的机会。 –

+0

谢谢你的抬头。我对这一切都很陌生。 Java编程和使用这个网站的资源帮助。 – neme0025

回答

0

你缺少“一” +在numberToLetter

return 'a' + firstNumber; 
+0

所以我做了更正和我的回报,当我输入一个和1我得到以下结果: ?我想要得到的结果: a – neme0025