передача строчной буквы в прописную эквивалент без использования метода toUpperCase () - PullRequest
0 голосов
/ 23 декабря 2011

Я пытался и пытался, и нет никакого способа.

Я хочу потратить строчную букву на заглавную эквивалентную.) но я хочу обойтись без него.

Это мой ошибочный код:

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 ]

2 голосов
/ 23 декабря 2011

Вы хотите закончить с char

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

или

char letter2 = (char) (letter - 32);
1 голос
/ 23 декабря 2011

Я вижу две проблемы с этим кодом.Сначала вы назначаете nextLine(), что является строкой.Вы можете захотеть что-то вроде

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

.Во-вторых, вы печатаете int, попробуйте

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

С этими изменениями, я думаю, ваш код даст вам лучшие результаты.

Естественно, это не будет работать для символов, не относящихся к asciiВо всяком случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...