Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在不使用toUpperCase()方法的情况下将小写字母传递给大写等效字母_Java_Uppercase_Lowercase - Fatal编程技术网

Java 在不使用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(

我一直在努力,但没有办法

我想把一个小写字母转换成大写字母

我知道并知道如何使用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);
    }
}

您想以一个
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);