我对编程完全不熟悉。我正在阅读互联网上的一些教程,还有Barry Burds“Java for dummies”,同时尝试学习Java编程。我已经尝试了所有可以想到但没有成功的变化。 在一个练习中,我应该制作以下程序在“messageDialogBox”中打印一条消息,该消息应该包含程序用户写入的数字。不幸的是,我在尝试编译时收到以下错误消息:有人可以帮助我让代码工作吗?代码有什么问题?
5 errors
Addition2.java:24: ')' expected
JOptionPane.showMessageDialog( null, firstnumber "+" secondnumber
^
Addition2.java:25: not a statement
+ sum, "Results", JOptionPane.PLAIN_MESSAGE );
^
Addition2.java:25: ';' expected
+ sum, "Results", JOptionPane.PLAIN_MESSAGE );
^
Addition2.java:25: not a statement
+ sum, "Results", JOptionPane.PLAIN_MESSAGE );
^
Addition2.java:25: ';' expected
+ sum, "Results", JOptionPane.PLAIN_MESSAGE );
代码如下:
import javax.swing.JOptionPane;
public class Addition2
{
public static void main( String args[] )
{
String firstnumberstring;
String secondnumberstring;
int firstnumber;
int secondnumber;
int sum;
firstnumberstring = JOptionPane.showInputDialog(
"Write first number" );
secondnumberstring =
JOptionPane.showInputDialog( "Write second number" );
firstnumber = Integer.parseInt( firstnumberstring );
secondnumber = Integer.parseInt( secondnumberstring );
sum = firstnumber + secondnumber;
JOptionPane.showMessageDialog( null, firstnumber "+" secondnumber
+ sum, "Results", JOptionPane.PLAIN_MESSAGE );
}
}
答案 0 :(得分:3)
假设showMessageDialog
旨在显示添加的结果,此行
JOptionPane.showMessageDialog(null, firstnumber "+" secondnumber
+ sum, "Results", JOptionPane.PLAIN_MESSAGE);
应该读取类似
的内容JOptionPane.showMessageDialog(null, firstnumber + "+" + secondnumber + "=" +
^ ^ ^^^^^^^
+ sum, "Results", JOptionPane.PLAIN_MESSAGE);
(只是将字符串和数字放在一起并不会将它们连接起来。你必须在它们之间插入+
!)
另请注意,5 + 3 + " hello"
会产生"8 hello"
。要生成53 hello
,您必须执行"" + 5 + 3 + " hello"
。
你也可以使用例如String.format
,在这种情况下代码看起来像
String msg = String.format("%d + %d = %d", firstnumber, secondnumber, sum);
JOptionPane.showMessageDialog(null, msg, "Results", JOptionPane.PLAIN_MESSAGE);
答案 1 :(得分:2)
这是问题所在:
firstnumber "+" secondnumber
目前尚不清楚你的意思。你真的想要一个算术总和吗?如果是这样,您不应该在+
运算符周围加上引号:
JOptionPane.showMessageDialog(null, firstnumber + secondnumber + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
如果实际意味着使用字符串连接并在字符串中包含“+”,则需要使用以下内容:
JOptionPane.showMessageDialog(null, firstnumber + "+" + secondnumber + "=" + sum,
"Results", JOptionPane.PLAIN_MESSAGE );
看起来有点像这样:
+ "+" +
这里的第一个和第三个+
符号是字符串连接运算符。中间的一个是字符串文字。
答案 2 :(得分:0)
您需要使用字符串cat运算符连接字符串:+
JOptionPane.showMessageDialog( null, firstnumber + "+" + secondnumber + " = " + sum, "Results", JOptionPane.PLAIN_MESSAGE );
顺便说一句;声明第一次分配变量的变量被认为是一件好事 - 而不是坚持旧的c-要求(具有古老的根),所有变量必须在实际代码之前声明。
String firstnumberstring = JOptionPane.showInputDialog(
"Write first number" );
在尝试找出变量的使用位置时,它会有所帮助。 当变量仅在特定范围内使用时,这是特别好的; (在大括号内)