我怎样才能让这个功能不那么混乱?
How can I make this function less messy?
我想让这个功能不那么混乱,我不希望每个按钮都有单独的 if 语句,但我想不出正确的解决方案。有人想帮忙吗?
public void actionPerformed( ActionEvent arg0 ) {
if(arg0.getSource()==buttons[0]){
txField.setText(txField.getText() + bText[0]);
}
if(arg0.getSource()==buttons[1]){
txField.setText(txField.getText() + bText[1]);
}
if(arg0.getSource()==buttons[2]){
txField.setText(txField.getText() + bText[2]);
}
if(arg0.getSource()==buttons[3]){
txField.setText(txField.getText() + bText[3]);
}
if(arg0.getSource()==buttons[4]){
txField.setText(txField.getText() + bText[4]);
}
if(arg0.getSource()==buttons[5]){
txField.setText(txField.getText() + bText[5]);
}
if(arg0.getSource()==buttons[6]){
txField.setText(txField.getText() + bText[6]);
}
if(arg0.getSource()==buttons[7]){
txField.setText(txField.getText() + bText[7]);
}
if(arg0.getSource()==buttons[8]){
txField.setText(txField.getText() + bText[8]);
}
if(arg0.getSource()==buttons[9]){
txField.setText(txField.getText() + bText[9]);
}
if(arg0.getSource()==buttons[10]){
txField.setText(txField.getText() + bText[10]);
}
}
我可以用什么来缩短这个函数?哈希图?对于循环?请协助。我总共想要 20 个按钮,我只发布了一半的功能,因为其余的都是多余的。 bText 是一个字符串数组,其中包含计算器程序所需的所有按钮。 I.E 1、2、3、C、CE 等
好吧,我不知道 Java 但是在类似的语言中你可以做这样的事情,
for (int i = 0; i < button.length; i++)
{
if(arg0.getSource() == buttons[i])
{
txField.setText(txField.getText() + bText[i]);
break;
}
}
我想让这个功能不那么混乱,我不希望每个按钮都有单独的 if 语句,但我想不出正确的解决方案。有人想帮忙吗?
public void actionPerformed( ActionEvent arg0 ) {
if(arg0.getSource()==buttons[0]){
txField.setText(txField.getText() + bText[0]);
}
if(arg0.getSource()==buttons[1]){
txField.setText(txField.getText() + bText[1]);
}
if(arg0.getSource()==buttons[2]){
txField.setText(txField.getText() + bText[2]);
}
if(arg0.getSource()==buttons[3]){
txField.setText(txField.getText() + bText[3]);
}
if(arg0.getSource()==buttons[4]){
txField.setText(txField.getText() + bText[4]);
}
if(arg0.getSource()==buttons[5]){
txField.setText(txField.getText() + bText[5]);
}
if(arg0.getSource()==buttons[6]){
txField.setText(txField.getText() + bText[6]);
}
if(arg0.getSource()==buttons[7]){
txField.setText(txField.getText() + bText[7]);
}
if(arg0.getSource()==buttons[8]){
txField.setText(txField.getText() + bText[8]);
}
if(arg0.getSource()==buttons[9]){
txField.setText(txField.getText() + bText[9]);
}
if(arg0.getSource()==buttons[10]){
txField.setText(txField.getText() + bText[10]);
}
}
我可以用什么来缩短这个函数?哈希图?对于循环?请协助。我总共想要 20 个按钮,我只发布了一半的功能,因为其余的都是多余的。 bText 是一个字符串数组,其中包含计算器程序所需的所有按钮。 I.E 1、2、3、C、CE 等
好吧,我不知道 Java 但是在类似的语言中你可以做这样的事情,
for (int i = 0; i < button.length; i++)
{
if(arg0.getSource() == buttons[i])
{
txField.setText(txField.getText() + bText[i]);
break;
}
}