繁体   English   中英

将文本字段输入保存在变量下

[英]saving textfield input under a variable

您好:) 我正在尝试在 java 中实现顺序搜索,重点是让它获取我在文本字段中输入的数字并在数组中搜索它。 我不确定如何获取值并将其保存在变量下,因为我需要它是 int 以便我可以将它与数组中的数字进行比较,但我必须将其转换为字符串以便我可以显示它在最后的文本字段中?

所以我将变量命名为我希望在其下保存数字“x”的值并尝试 x=textfield.getText() 因为 textfield1 是我想输入数字但它不起作用的字段...

public class NewJFrame extends javax.swing.JFrame {
int array []=new int [6];
int x;
private void genActionPerformed(java.awt.event.ActionEvent evt) {                                    
 for (int i=0; i<6; i++)
  {
  array[i]=(int)(Math.random()*49+1);
 }
x= textfield1.getText();
 for (int i = 0; i < array; i++) {
if (array[i] == x)
  System.out.println( "Element found at index " + array[i]); 

错误“字符串无法转换为 int”

您正在尝试将文本存储到 int 变量中。 int 变量仅用于存储 1、2、3 等数字...您必须使用 String 变量。

正如 ccarpan 所说,您正在尝试将文本存储到 Integer 中。

要么你使用

String x = "";
x = textfield1.getText();

或者您尝试将文本解析为 Integer (如果您只使用数字),例如:

int x;
x = Integer.parseInt(textfield1.getText());
//throws an error if you are trying to write letters or symbols

您应该首先将值保存为字符串:

String x = textfield1.getText();

...因为提供的任何值都是有效的字符串。

然后您尝试解析 integer 值:

int n = Integer.parseInt(x);

分两步执行此操作,以便在有人输入无效的 integer 值(如 12J65K9...)时从异常中恢复...如果您已学会如何进行异常处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM