不使用toUpperCase()方法将小写字母传递给大写等效字母

时间:2011-12-23 17:04:25

标签: java uppercase lowercase

我一直在努力尝试,没有办法。

我想用小写字母大写等值。

我知道并知道如何使用方法toUpperCase()但我想没有它。

这是我失败的代码:

import java.util.Scanner;

public class ConvertLetters {

    public static void main(String[] args) {
        Scanner stdin = new Scanner(System.in);
        System.out.print("enter a lower case letter");
        char letter = stdin.nextLine();
        int letter2 = 'A' + (letter - 'a');
        System.out.println("and we will refund your letter capitalized");
        System.out.print("Your letter: " + letter);
        System.out.print("upper case equates to:");
        System.out.print(letter2);
    }
}

2 个答案:

答案 0 :(得分:2)

您希望以char

结束
char letter = stdin.nextLine().charAt(0);
char letter2 = (char) ('A' + (letter - 'a'));

char letter2 = (char) (letter - 32);

答案 1 :(得分:1)

我发现此代码存在两个问题。首先,指定nextLine(),这是一个字符串。你可能想要像

这样的东西
char letter = stdin.nextLine().charAt(0);

代替。其次,您打印int,尝试

System.out.print((char)letter2);

通过这些更改,我认为您的代码会为您提供更好的结果。

当然,无论如何,这对非ascii角色都不起作用。