将小写字母传递为等效的大写字母,而不使用 toUpperCase () 方法

发布于 2024-12-22 19:28:03 字数 646 浏览 2 评论 0原文

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

我想将小写字母转换为大写字母。

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

I've been trying and trying and there is no way.

I want to spend a lowercase letter to uppercase equivalent.

I know and know how to use the method toUpperCase () but I want to do without it.

This is my failing code:

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);
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

山川志 2024-12-29 19:28:03

您想以 char

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

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

You want to finish with a char

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

or

char letter2 = (char) (letter - 32);
一笑百媚生 2024-12-29 19:28:03

我发现这段代码有两个问题。首先,分配 nextLine(),它是一个字符串。你可能想要类似的东西

char letter = stdin.nextLine().charAt(0);

。其次,你打印int,尝试

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

通过这些更改,我认为你的代码会给你更好的结果。

当然,无论如何,这对非 ASCII 字符不起作用。

I see two problems with this code. First, you assign nextLine(), which is a string. You may want something like

char letter = stdin.nextLine().charAt(0);

instead. Second, you print int, try

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

With these changes, I think your code will give you better results.

Naturally, that won't work for non-ascii characters, anyway.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文