Java 在不使用toUpperCase()方法的情况下将小写字母传递给大写等效字母
我一直在努力,但没有办法 我想把一个小写字母转换成大写字母 我知道并知道如何使用toUpperCase()方法,但我不想使用它 这是我的失败代码:Java 在不使用toUpperCase()方法的情况下将小写字母传递给大写等效字母,java,uppercase,lowercase,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(
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);
}
}
您想以一个
char
char letter = stdin.nextLine().charAt(0);
char letter2 = (char) ('A' + (letter - 'a'));
或
我发现这个代码有两个问题。首先,分配
nextLine()
,这是一个字符串。你可能想要像这样的东西
char letter = stdin.nextLine().charAt(0);
相反。第二,打印int
,然后重试
System.out.print((char)letter2);
通过这些更改,我认为您的代码将提供更好的结果
当然,这对非ascii字符不起作用。我想你只对ascii转换感兴趣?而且,他应该使用nextInt()而不是nextLine()。是的!,非常感谢!,我花了3天时间才找到解决方案
System.out.print((char)letter2);