Java 如何将字符串转换为int?
对此可能有一个非常简单的答案。我的目标是将输入的信息x和y分开,然后放入z 这是我的密码:Java 如何将字符串转换为int?,java,android,Java,Android,对此可能有一个非常简单的答案。我的目标是将输入的信息x和y分开,然后放入z 这是我的密码: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity ex
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
public int x = Integer.parseInt("");
public int y = Integer.parseInt("");
public int z = (y/x);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Button
Button btn = (Button) findViewById(R.id.button);
//EditText
EditText nop = (EditText) findViewById(R.id.editText);
EditText cob = (EditText) findViewById(R.id.editText2);
x = Integer.parseInt(nop);
y = Integer.parseInt(cob);
final TextView tv = (TextView) findViewById(R.id.textView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv.setText(z);
}
});
}
}
在
onclick
函数中声明z
。或者在函数中为其赋值
另外,nop
和cob
是editText。如果要获取其中的数据,请使用getText()
因为Integer.parseInt()
只接受字符串,而不接受editText
,所以必须使用getText()
获取其中的字符串值
x = Integer.parseInt(nop.getText().toString());
y = Integer.parseInt(cob.getText().toString());
final TextView tv = (TextView) findViewById(R.id.textView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int z = x / y;
tv.setText(z);
}
});
此外,z
是全局声明的,没有分配任何内容。但每次单击按钮时都需要为其指定一个值,以便每次单击按钮时编辑文本都会更改 首先将Edittext转换为字符串,然后将其转换为整数
String Val1 = nop.getText().toString();
String Val2 =cob.getText().toString();
x = Integer.parseInt(val1);
y = Integer.parseInt(val2);
你在谷歌上键入你的标题了吗?有什么问题吗?你似乎已经在为x和y做这些了。我能想象的唯一问题是,您仅在声明成员时指定z,并且确实更改了x和y的值,但从未更新z.@sᴜʀᴇsʜᴀᴛᴛᴀ 他实际上可以转换,看看x和y的转换,但是他没有正确地问这个问题。我不知道你在哪里花了那两个小时。五分钟的整数及其方法的javadoc阅读。。。可能是更好的投资。还有一个旁注:最有可能的是,您当前的问题是您的代码抛出了一个异常;来自:public int x=Integer.parseInt(“”)代码>。。。因为从空字符串解析int根本不起作用。您已经准备好了@Uma answer。。。。10分钟前。。。。请阅读您发布的问题以获得答案,而不是让您在评论中斗志(我发布了几乎相同的答案;)是的,错误是一样的,所以我们可能会得到相同的答案:)稍微解释一下z
的范围,以及何时划分也很好;),OP将z=x/y定义为属性似乎有点混乱谢谢你们的帮助你们明白我为什么这样做吗?或者你需要更清楚一些?