明天我有这个任务,我是初学者,请帮忙。必须是JOptionpane:O我想知道我是否可以在showmessagedialog中使用if else语句。错误表示需要不兼容的类型:int(对于holder = holder +“\ n”+ aw [x]; 这是我到目前为止所做的事情(抱歉,我是一个初学者理解):
public static void main(String[] args) {
String s;
int size;
int size2;
int holder;
s = JOptionPane.showInputDialog("Enter the size of the array");
size = Integer.parseInt(s);
String aw[]= new String[size];
for (int x=0; x<=aw.length-1; x++){
aw[x]=JOptionPane.showInputDialog("Enter value for array[" + x + "]");
size2 = Integer.parseInt(aw[x]);
}
for (int x=0; x<=aw.length-1;x++)
{
holder=holder + "\n" + aw[x];
}
JOptionPane.showMessageDialog(null, if (holder<0) { holder + " is negative" } else holder " is positive");
}
}“
答案 0 :(得分:0)
holder被声明为int,但是在
中holder=holder + "\n" + aw[x];
你试着给它分配一个字符串。
答案 1 :(得分:0)
使用字符串存储消息
String msg;
if (holder<0)
{
msg = holder + " is negative";
}
else
{
msg = holder " is positive";
}
JOptionPane.showMessageDialog(null,msg);
showMessageDialog函数需要第二个参数为String
答案 2 :(得分:0)
你不能做的事情:
1声明的变量holder
是int类型。它不能用于做`+``操作。
2两个for -loop不是必需的。
3 您忘记检查输入的数字是否为零,您只有正面和负面的逻辑。
4尝试对字符串使用+
opeartion时。请使用append
的{{1}}方法。
以下是基于以上3个项目编写的代码。
StringBuilder
答案 3 :(得分:0)
最好的方法是:
final String msg = holder == 0 ? "is zero" : (holder > 0 ? "is positive" : "is negative");
JOptionPane.showMessageDialog(null,msg);