为什么这个JAVA程序提示错误:需要class,interface或enum

importjavax.swing.JOptionPane;publicclassStudentDetails{publicstaticvoidmain(Stringar... import javax.swing.JOptionPane;
public class StudentDetails
{
public static void main(String args[])
{
String name;
String programme;
String number;

name = JOptionPane.showInputDialog("Input your name:");
programme = JOptionPane.showInputDialog("Input the name of the programme you are studying:");
number = JOptionPane.showInputDialog("Input your student number:");

JOptionPane.showMessageDialog(null, "name:" + name, JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "the name of the programme:" + programme, JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "student number:" + number, JOptionPane.PLAIN_MESSAGE);

System.exit(0);
}
}
展开
 我来答
深眠者
高粉答主

2018-09-09 · 每个回答都超有意思的
知道答主
回答量:40
采纳率:0%
帮助的人:9285
展开全部

这是Java文件的编码导致的问题,通常使用javac FirstSample.java编译UTF-8编码的.java源文件。没有指定编码参数encoding的情况下,默认使用的是GBK编码

编译器用GBK编码来编译UTF-8文件时,就会把UTF-8编码文件的3个字节的文件头,按照GBK中汉字占2字节、英文占1字节的特性解码成了“乱码”的两个汉字。这个源文件应该是用记事本另存为UTF-8编码造成的。

解决方法:

对于非GBK及其子集编码(GB2312)的源文件,编译方式为javac -encoding "UTF-8" FirstSample.java。但还是会出现错误,提示非法字节。

这是因为.java只识别不带BOM的UTF-8编码。所以应该用EmEditor、Editplus、ULtraEdit或notepad++之类的工具另存为UTF-8(无BOM)。然后就可以用javac .java编译.java文件了。

扩展资料:

语言特点:

1.简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。

2.面向对象

Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。

3.分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

4.编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

5.稳健性

Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

参考资料:百度百科:Java

CSDN:Java解释执行

大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
唯夜TGBUS
2014-03-06 · TA获得超过568个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:139万
展开全部

用编译的时候如果引入了其他的包需要手动添加,直接编译就会报错。

命令行如下:

javac [lib folder or file] [src file]

javac ./ StudentDetails.java

"./"是在当前目录下找需要引入的包。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是征服者3
2019-06-06 · TA获得超过294个赞
知道答主
回答量:14
采纳率:0%
帮助的人:4万
展开全部
用记事本新建一个Java文档,将之前代码拷贝进去,覆盖之前的Java文档即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李大小岩
2017-10-22 · TA获得超过1945个赞
知道答主
回答量:84
采纳率:0%
帮助的人:60万
展开全部
在同一个文本下声明了其他类;把含有主函数的那个类也就是和文件名一样的那个类放在了下面;解决办法就是把声明的类移动到下面就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanchen1991
推荐于2017-10-22 · TA获得超过1369个赞
知道小有建树答主
回答量:337
采纳率:100%
帮助的人:252万
展开全部
呃,我想说这个问题还真是千年难碰啊。这个错误还真不少楼主代码的问题,而是文件编码的问题,楼主估计是用了一个非记事本的编辑器吧?这个文件因编码的问题,在“import javax.swing.JOptionPane;”这条语句的开头也就是i前面隐藏了一个字符,就像是\n回车这种字符,你是看不到的。解决办法就是新建一个文本文件,用记事本打开,把你的这些代码复制进去,重命名为StudentDetails.java就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式