JOptionPaneに入力を取得させ、それをintに割り当てようとしていますが、変数の型に問題があります。
私はこのようなものを試しています:
Int ans = (Integer) JOptionPane.showInputDialog(frame,
"Text",
JOptionPane.INFORMATION_MESSAGE,
null,
null,
"[sample text to help input]");
しかし、私は得ています:
Exception in thread "main" Java.lang.ClassCastException: Java.lang.String cannot
be cast to Java.lang.Integer
これは論理的に聞こえますが、これを実現する別の方法は考えられません。
前もって感謝します
単に使用してください:
_int ans = Integer.parseInt( JOptionPane.showInputDialog(frame,
"Text",
JOptionPane.INFORMATION_MESSAGE,
null,
null,
"[sample text to help input]"));
_
String
をint
にキャストすることはできませんが、Integer.parseInt(string)
を使用して変換できます。
これは、ユーザーがJOptionPane
に挿入する入力はString
であり、格納され、String
として返されるためです。
Javaは文字列と数値の間でそれ自体を変換することはできません。特定の関数を使用する必要があります。
int ans = Integer.parseInt(JOptionPane.showInputDialog(...))
渡された文字列に解析可能な文字列が含まれていない場合、Integer.parseIntはNumberFormatExceptionをスローすることに注意してください。
String String_firstNumber = JOptionPane.showInputDialog("Input Semisecond");
int Int_firstNumber = Integer.parseInt(firstNumber);
これでInt_firstnumber
にString_fristNumber
の整数値が含まれます。
それが役に立てば幸い
// sample code for addition using JOptionPane
import javax.swing.JOptionPane;
public class Addition {
public static void main(String[] args) {
String firstNumber = JOptionPane.showInputDialog("Input <First Integer>");
String secondNumber = JOptionPane.showInputDialog("Input <Second Integer>");
int num1 = Integer.parseInt(firstNumber);
int num2 = Integer.parseInt(secondNumber);
int sum = num1 + num2;
JOptionPane.showMessageDialog(null, "Sum is" + sum, "Sum of two Integers", JOptionPane.PLAIN_MESSAGE);
}
}