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

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

返回錯誤 int 值的變量

返回錯誤 int 值的變量

慕無忌1623718 2024-01-17 20:49:54
編寫了以下幾行代碼,旨在將 2 個值插入到對話框中,并分配給 2 個不同的變量。假設我插入 22,那么它應該在文本字段中顯示為 2x2 = 4,相反,它會打印類似 50 x 50 = 2500 的內(nèi)容。String a = JOptionPane.showInputDialog("Qual cálculo deseja fazer? (AB = A x B)", "AB");   aNum = a.charAt(0);   bNum = a.charAt(1);   int cNum = aNum*bNum;    Game.getNumbers(aNum, bNum);    JOptionPane.showInputDialog(aNum, bNum);    TF1.setText(Game.First() +" x "+ Game.Second() +" = "+ cNum);涉及班級:public class Game1 {private int first = 0;private int second = 0;private int score = 0;private int hiScore = 0;public void numTotalCheck(int a){    String option1 = null;    char option = 0;    do{    if (a == (first*second)){        JOptionPane.showMessageDialog(null, "Parabéns. Você acertou!");        score = score + 100;        if(score > hiScore){            hiScore = score;        }    }else{        score = score - 100;        if(score > hiScore){            hiScore = score;        }        JOptionPane.showMessageDialog(null, "Errado!");        option1 = JOptionPane.showInputDialog("Deseja jogar novamente? <S/N>");        option = option1.charAt(0);    }    }while((option == 's') || (option == 'S'));}public void getNumbers(int a, int b){    first = a;    second = b;}public int First(){    return first;}public int Second(){    return second;}結果:“22”輸入的結果。
查看完整描述

2 回答

?
不負相思意

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

該函數(shù)charAt(index)返回一個 char,然后您可以將其隱式解析為 int。'2' 的 int 值為 50,所以它是 50 * 50 = 2500。


一個簡單的解決方法是要求輸入格式如 A;B。然后你可以執(zhí)行以下操作:


String s =JOptionPane.showInputDialog("Enter two numbers like this: Number A;Number B", "AB");

String[] temp = s.split(";");

if(temp.length == 2) {

  try {

    int aNum = Integer.parseInt(temp[0]);

    int bNum = Integer.parseInt(temp[1]);

    int cNum = aNum*bNum;

  } catch(NumberFormatException nfe) {

    // One or both of the values weren't ints.

  }

} else {

  // Some error here, because of too few/ too many values

}


查看完整回答
反對 回復 2024-01-17
?
HUWWW

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

您將字符 ( char) 視為數(shù)字 ( integer)。這是一個隔離您所看到的內(nèi)容的示例。


此代碼采用字符串值“2”并從中獲取一個字符,然后打印該字符。


char c = "2".charAt(0);

System.out.println("c: " + c);


--> c: 2

如果您嘗試相同的操作,但將結果存儲為 an int,則存儲的值不是同一件事,而是“50”:


int i = "2".charAt(0);

System.out.println("i: " + i);


--> i: 50

在幕后,任何字符值都以數(shù)字表示,因此字符“2”是整數(shù) 50。您可以挖掘 ASCII 圖表來查看它們是如何映射的。


有很多方法可以修復代碼,但由于您已經(jīng)從字符串值開始,因此獲得正確結果的一種方法是使用Integer.parseInt(),如下所示:


int parsedValue = Integer.parseInt("2");

System.out.println("parsedValue: " + parsedValue);


--> parsedValue: 2


查看完整回答
反對 回復 2024-01-17
  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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