我想讓它在用戶輸入一個選項時不區分大小寫,而且他們不需要輸入完整的選項。我不知道如何做到這一點。
package com.unspoken;
import java.util.Scanner。
import java.awt.*;
public class Main {
public static void main(String[] args){
String play = "Play a game"。
String internet = "探索互聯網";
String calculator = "使用計算器";
String quit = "退出不動"。
String pickedEvent = "Unpicked"/span>;
Scanner scanner = new Scanner(System.in)。
System.out.println("Hello, My name is Ghost. 你叫什么名字?")。)
String name = scanner.nextLine() 。
System.out.println("你好" name "。你今天想做什么?")。)
while (!pickEvent.equals("Picked")) {
System.out.println(play)。
System.out.println(internet);
System.out.println(calculator);
System.out.println(quit)。
pickedEvent = scanner.nextLine();
switch (pickEvent) {
case "Play a game":
System.out.println("好" name ",加載游戲。")。
pickedEvent = "picked";
break;
case "探索互聯網":
System.out.println("好的" name ",加載互聯網。")。
pickedEvent = "picked";
break。
case "使用計算器"。
System.out.println("好" name ",加載計算器。")。
pickedEvent = "picked";
break;
case "Quit Untouched":
System.out.println("Are you sure you want to quit Untouched" name "?")。
String quitAnswer = scanner.nextLine() 。
if(quitAnswer.equalsIgnoreCase("Yes"/span>)){
System.out.println("Okay goodbye" name ", Have a nice day.") 。
break。
}else if(quitAnswer.equalsIgnoreCase("No"/span>)){
System.out.println("你今天想做什么" name "?")。
繼續。
}
}
}
}
}
uj5u.com熱心網友回復:
試試這樣的方法
switch (pickEvent.toUpperCase() ) //改變為大寫字母case "Play A GAME": //選擇大寫字母。
// ...
}
uj5u.com熱心網友回復:
你可以分配數字來識別任務
String play = "1.Play a game" ;
String internet = "2.探索互聯網";
String calculator = "3. 使用計算器"。
String quit = "4. 退出不動"。
并要求用戶輸入數字而不是輸入完整的字串
System.out.println("Hello" name "。你今天想做什么?,選號")。)
并在switch case中使用數字而不是字串,將pickEvent改為int
。 int pickedEvent = 0;
while (pickEvent != 4) {
System.out.println(play)。
System.out.println(internet);
System.out.println(calculator)。
System.out.println(quit)。
pickedEvent = scanner.nextInt();
switch (pickEvent) {
case 1:
System.out.println("Okay" name ",加載游戲。")。
break。
case 2:
System.out.println("好的" name ",加載互聯網。")。
break。
case 3:
System.out.println("Okay" name ", Loading calculator.") 。
break。
case 4:
System.out.println("Are you sure you want to quit Untouched" name "?")。
String quitAnswer = scanner.nextLine() 。
if(quitAnswer.equalsIgnoreCase("Yes"/span>)){
System.out.println("Okay goodbye" name ", Have a nice day.") 。
break。
}else if(quitAnswer.equalsIgnoreCase("No"/span>)){
System.out.println("你今天想做什么" name "?")。
繼續。
}
}
uj5u.com熱心網友回復:
這里有一個程式,它使用不區分大小寫的前綴匹配從一個選擇陣列中選擇一個選項。 它并沒有解決你的全部問題,但展示了你如何進行這種選擇。
public class PartialMatch
{
public static void main (String[] args)
{
PartialMatch app = new PartialMatch ()。
app.execute ();
}
private String[][] choices = {{"alpha", "A">,} {"beta", "B"}, {"alphabet", "C"}}。
private void execute ()
{
檢查("a"/span>)。
檢查("b")。
檢查("alpha")。
}
private void check (String input)
{
String choice = selectChoice(input);
if (choice == null)
{
System.out.printf ("對于輸入'%s'沒有找到選擇%n%n", input)。
}
else; }
{
System.out.printf ("對于輸入'%s',選擇是'%s' %n%n", 輸入, 選擇)。
}
}
private String selectChoice (String input)
{
String result = null;
for (int n = 1; n <= input. length () && result == null; n )
{
結果 = findChoice (input, n);
}
return result。
}
private String findChoice (String input, int)
{
String result = null;
String needle = input.substring (0, n).toLowerCase ();
for (String[] option : choices)
{
String key = option[0] 。
if (key.length () >= n)
{
if (key.toLowerCase ().equals (input.toLowerCase ()))
{
System.out.printf ("Option %s is an exact match%n", key) 。
return option[1] 。
}
if (key.substring (0, n).toLowerCase ().equals (pinle))
{
System.out.printf ("Option %s matches at length %s %n", key, n) 。
if (result != null)
{
System.out.printf ("key '%s' is ambiguous %n", needle);
return null。
}
result = option[1]。
}
}
}
return result。
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/321070.html
標籤:
