3 回答
TA贡献1824条经验 获得超8个赞
如果您想读取用户的一封信,您可以使用readInput()代码片段中提供的内容。
然后,例如在您的 中main(),您可以要求用户输入 2 个字母,然后您将向他提供结果。
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贡献1853条经验 获得超18个赞
您将必须使用 Scanner 类来完成用户输入。
import java.util.Scanner;
然后创建一个接受键盘输入的变量。
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter a letter: ");
String text = keyboard.nextLine();
创建一个方法,返回给定字符的数字。 在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;
}
现在只需使用用户输入调用您的方法即可。
toNum(text);
您也可以打印用户输入的返回值。
System.out.println(toNum(text));
TA贡献1887条经验 获得超5个赞
你的问题根本不清楚,但我尽力帮助你。下次发布你尝试过的内容。
这个简单的代码会对您有所帮助,这可以改进,所以让我们这样做: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]));
请注意,您可以创建方法来执行重复操作。在这个简单的示例中,您可以创建一个方法来检查您刚刚从键盘读取的内容是否是单个字符。
您可以做的另一项改进是处理用户插入错误的内容。
让我们尝试编码:D 再见
添加回答
举报