3 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您想讀取用戶的一封信,您可以使用readInput()代碼片段中提供的內(nèi)容。
然后,例如在您的 中main(),您可以要求用戶輸入 2 個(gè)字母,然后您將向他提供結(jié)果。
public static void main(String[] args) {
try{
char inputOne = readInput();
char inputTwo = readInput();
handle(inputOne,inputTwo);
}catch(Exception e){
System.out.println(e.getMessage());
}
}
static char readInput(){
System.out.println("Insert a character");
String input = Console.readLine();
if (input.length==0) {
char c = input.charAt(0);
if (Character.isLetter(c)) {
return c;
}
}
throw new Exception("Invalid input!");
}
static void handle(char a, char b){
// your logic to handle the input of the user
}

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
您將必須使用 Scanner 類來完成用戶輸入。
import java.util.Scanner;
然后創(chuàng)建一個(gè)接受鍵盤輸入的變量。
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a letter: ");
String text = keyboard.nextLine();
創(chuàng)建一個(gè)方法,返回給定字符的數(shù)字。 在Java中a-z等于,并且等于.97-122A-Z65-90
public int toNum(String text) {
//Ensure that the text is only 1 character long.
if(text.length() > 1) return -1;
//Convert the one-character String to type char.
char letter = text.charAt(0);
//Convert char to its equivalent number value.
int rawNum = letter;
int newNum;
//Convert the number to a value 0-25.
if(rawNum >= 'a' && rawNum <= 'z') {
newNum = rawNum - 'a';
} else if(rawNum >= 'A' && rawNum <= 'Z') {
newNum = rawNum - 'A';
} else {
//None of the characters were letters A-Z.
System.out.println("Invalid input");
return -1;
}
//If {a,b,c} are 1 and {d,e,f} are 2, then {0,1,2} -> 1 and {3,4,5} -> 2
//Take the floor of the new number divided by 3.
int toReturn = Math.floor(newNum / 3.0) + 1;
return toReturn;
}
現(xiàn)在只需使用用戶輸入調(diào)用您的方法即可。
toNum(text);
您也可以打印用戶輸入的返回值。
System.out.println(toNum(text));

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
你的問題根本不清楚,但我盡力幫助你。下次發(fā)布你嘗試過的內(nèi)容。
這個(gè)簡單的代碼會(huì)對(duì)您有所幫助,這可以改進(jìn),所以讓我們這樣做:D
Scanner scanner = new Scanner(System.in);
System.out.println("Insert first char");
String firstChar = scanner.next().toUpperCase();
if (firstChar.length() != 1 || (firstChar.toCharArray()[0] < 65 || firstChar.toCharArray()[0] > 90)) {
System.out.println("Please, insert one single character [a-z/A-Z]");
return;
}
System.out.println("Insert second char");
String secondChar = scanner.next().toUpperCase();
if (secondChar.length() != 1 || (secondChar.toCharArray()[0] < 65 || firstChar.toCharArray()[0] > 90)) {
System.out.println("Please, insert one single character");
return;
}
System.out.println(firstChar + " - " + secondChar + " = " + Math.abs(firstChar.toCharArray()[0] - secondChar.toCharArray()[0]));
請注意,您可以創(chuàng)建方法來執(zhí)行重復(fù)操作。在這個(gè)簡單的示例中,您可以創(chuàng)建一個(gè)方法來檢查您剛剛從鍵盤讀取的內(nèi)容是否是單個(gè)字符。
您可以做的另一項(xiàng)改進(jìn)是處理用戶插入錯(cuò)誤的內(nèi)容。
讓我們嘗試編碼:D 再見
添加回答
舉報(bào)