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

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

使用循環(huán)創(chuàng)建整數(shù)

使用循環(huán)創(chuàng)建整數(shù)

瀟湘沐 2022-08-03 15:18:10
import java.io.IOException;public class Main {    public static void main(String[] args) throws IOException {        int number = 0;        int keyValue = System.in.read();        keyValue = keyValue - 48;        number = number * 10 + keyValue;        System.out.println(number);        while(true) {            keyValue = System.in.read();            keyValue = keyValue - 48;            number = number * 10 + keyValue;            System.out.println(number);            if(keyValue == 120) {                number = number - 120;                System.out.println(number);                break;            }        }        }    }我想從鍵盤獲取整數(shù)值。減去48將使ASCII代碼成為我在鍵盤上輸入的值。我不僅想在第一位數(shù)字中執(zhí)行此操作,而且要使用while循環(huán)和if條件,在鍵盤上輸入任何內(nèi)容時都創(chuàng)建一個整數(shù)。您認(rèn)為問題出在哪里?請幫幫我。
查看完整描述

3 回答

?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗 獲得超5個贊

您的代碼的中斷條件為時已晚:原始鍵值 - 48 == 120'。number already messed up, multiplied by 10, added the 120 - 48. The


但我認(rèn)為你想在字母上進(jìn)行測試。'x'


    while (true) {

        keyValue = System.in.read();

        if (keyValue == 'x') {

            System.out.println(number);

            break;

        }

        keyValue = keyValue - '0';

        number = number * 10 + keyValue;

        System.out.println(number);

    }

但是,控制臺 System.in 是行緩沖的,在按下 Enter 鍵之前,您將不會獲得輸入。


查看完整回答
反對 回復(fù) 2022-08-03
?
慕運維8079593

TA貢獻(xiàn)1876條經(jīng)驗 獲得超5個贊

您希望它一個接一個地打印還是在一行中打印。如果您希望它在一行中。希望您能從下面的代碼片段中獲得幫助:-


public class Main {


    public static void main(String[] args) throws IOException {

        int number = 0;

        int keyValue = 0;

        /*int keyValue = System.in.read();

        keyValue = keyValue - 48;

        number = number * 10 + keyValue;

        System.out.println(number);*/


        while (true) {

            number =0;

            keyValue = System.in.read();

            keyValue = keyValue - 48;

            if(keyValue == -38){

                System.out.println();

            }else {

                if (keyValue < 0 || keyValue > 122) {

                    System.out.println(" BREAK "+keyValue);

                    break;

                }

                number = number * 10 + keyValue;

                System.out.print(number);

            }

        }


    }


}

輸出 :-


1

1

2

2

3

3

123

123

345

345

5556

5556

789

789


查看完整回答
反對 回復(fù) 2022-08-03
?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗 獲得超4個贊

我不知道這是否是您要查找的,但是如果您嘗試通過減去48值來創(chuàng)建ASCII to int,那么這里是正確的代碼:


    public static void main(String[] args) throws IOException {

    Scanner sc = new Scanner(System.in);

    int number = 0;

    System.out.println("Please enter your ASCII code!");

    int keyValue = sc.nextInt();

    keyValue = keyValue - 48;

    number = number * 10 + keyValue;

    System.out.println(number);


    while (true) {

        number = 0;

        System.out.println("Please enter your ASCII code!");

        keyValue = sc.nextInt();

        keyValue = keyValue - 48;

        number = number * 10 + keyValue;

        System.out.println(number);

        if (keyValue == 120) {

            number = number - 120;

            System.out.println(number);

            break;

        }

    }

}

例:


當(dāng)您輸入48時,您將獲得0,使用49,您將獲得1 ...當(dāng)您輸入168時,循環(huán)中斷,程序結(jié)束。


我希望這對你有幫助。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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