第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

試圖弄清楚如何只接受用戶輸入中的1個字符

試圖弄清楚如何只接受用戶輸入中的1個字符

慕標琳琳 2022-09-14 16:41:39
我不確定如何驗證用戶是否只輸入一個字符進行輸入。我知道我對長度檢查的看法根本不正確。我只是用它來填充物。請幫忙。我嘗試了許多不同的方法,并搜索了這個網(wǎng)站和其他網(wǎng)站好幾天,以找到答案。final char SIZE = 10;char [] letter = new char [SIZE];// initiallizing input deviceScanner scan = new Scanner(System.in);for (char index = 0; index < SIZE;){    System.out.println ("Please enter Letter #" + (index + 1));// gets letter from user    while ((!scan.hasNext("[A-Za-z]+")) || (!scan.hasNext(length(1)))){        if(!scan.hasNext(length (1))){            System.out.println ("Please only enter one Letter at a time: ");            letter [index] = scan.next().charAt(0); // accepts first character entered by user        }        if(!scan.hasNext("[A-Za-z]+")){            System.out.println ("Please enter a valid Letter: ");            letter [index] = scan.next().charAt(0); // accepts first character entered by user        }        else if((scan.hasNext("[A-Za-z]+")) && (scan.next(length(1)))){// makes sure letter entered is a letter            letter [index] = scan.next().charAt(0); // accepts first character entered by user            index++;// increases index if proper letter entered        }    }}for (char index = 0; index < SIZE; index++){    System.out.println ("Letter #" + (index + 1) + ": " + letter [index]);// prints characters entered by user in order}
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

有很多方法可以做到這一點。一種方式是A.K.發(fā)布的內(nèi)容。一種方式如下:


for (char index = 0; index < SIZE;)

{

    String temp = scan.nextLine();


    if (temp.length() != 1)

    {

        // This means their input was too big

    }

    else

    {

        // This means their input was one character

    }


}

您還可以使用此行代碼僅從控制臺中選取一個字符作為輸入。scan.next().charAt(0);


如果您有任何疑問或此答案不是您要找的,請在下面發(fā)表評論,我將很樂意為您提供幫助。


查看完整回答
反對 回復(fù) 2022-09-14
?
ABOUTYOU

TA貢獻1812條經(jīng)驗 獲得超5個贊

輸入僅在用戶按下后放在緩沖區(qū)上,因此在現(xiàn)實中它始終是一次行。您應(yīng)該始終將代碼與現(xiàn)實保持一致,因此請始終按行讀取用戶輸入。Enter


此實用程序方法可能使用有用的:


private static String read(Scanner scanner, String message, String regex) {

    System.out.println(message);

    String result = "";

    while (true) {

         result = scanner.nextLine();

         if (result.matches(regex)) {

             break;

         }

         System.out.println("Invalid input. " + message);

    }

}

你可以這樣稱呼它:


String letter = read(scan, "Please enter Letter #" + (index + 1)", "[A-Za-z]");

該方法在僅輸入一個字母之前不會返回,并且它將返回該字母。read()


查看完整回答
反對 回復(fù) 2022-09-14
?
慕尼黑的夜晚無繁華

TA貢獻1864條經(jīng)驗 獲得超6個贊

一種解決方案是這樣的:


Scanner sc = new Scanner(System.in);


System.out.println("Enter char");


String in  = sc.next();

while(in.length()!=1){

     System.out.println("Enter only a single char");

     in = sc.next();

}

// Print the read value

System.out.println("Your char is = " + in);

如果您還想檢查它是否是字母而不是數(shù)字,只需在 while 循環(huán)中添加一個檢查即可。


查看完整回答
反對 回復(fù) 2022-09-14
  • 3 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號