JTextField ageTxt;
ageTxt = new JTextField("30");
int age = ageTxt.getText( );
if (age < 30)
System.out.println("You are young");
else
System.out.println("You are NOT young");
6 に答える
ageTxt.getText()
を返しますjava.lang.String
。それを機能しないプリミティブに割り当てようとしてint
います。
Integer.parseInt()
を に変換するためにString
使用できますint
。ただしNumberFormatException
、文字列が有効な数値でない場合、これがスローされる可能性があることに注意してください。したがって、try-catch
ブロックでラップすることをお勧めします。
it を整数にキャストしていないため、 getText() が文字列を返すため、例外が発生するため、これが役立つことを願っています。まずこのようにintに変換してから使います。
JTextField ageTxt;
ageTxt = new JTextField("30");
int age = Integer.parseInt(ageTxt.getText( ));
if (age < 30){
System.out.println("You are young");
}
else{
System.out.println("You are NOT young");
}
JTextField ageTxt;
ageTxt = new JTextField("30");
String age = ageTxt.getText( );
if (Integer.parseInt(age) < 30)
System.out.println("You are young");
else
System.out.println("You are NOT young");
あなたの質問はうまく定式化されていませんが、私が見ることができることから、String を返すメソッドで int 値を初期化しようとしています。
int age = ageTxt.getText( );
代わりに、次のことを行う必要があります。
String ageS = ageTxt.getText();
int age = Integer.parseInt(ageS);
if (age < 30) {
// do something
}
そしてもちろん、parseInt が例外をスローしないことを確認してください。
jtextfield の代わりにスキャナーを使用できます。ここに私が作ったコードがあります:
import java.util.Scanner;
public class Test {
public static void main(String[]args){
int age;
Scanner getage = new Scanner(System.in);
System.out.println("How old are you");
age = getage.nextInt();
if (age < 30){
System.out.println("You are young");
}
else{
System.out.println("You are NOT young");
}
}
}
ageTxt.getText()
ユーザーが入力した文字を含むオブジェクトを返し、整数のみを含むことができる var にString
それを入れようとします。int
だからうまくいかない。それを String オブジェクトに入れてから、 を実行して解析して整数値を取得しますInteger.parseInt(myStringObject)
。String オブジェクトに整数が含まれていない場合、例外がスローされる可能性があることに注意してください。