exceptioninjava
㈠ java中的一个错误 Exception in thread "main" java.net.SocketException: Connection reset
该异常发生在客户端进行new Socket(ip, port)操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在,但找不到指定的端口进行监听。
出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器看是否能ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否启动。
㈡ java程序出现Exception in thread "main"
Exception in thread "main" java.lang.
这句话表示异常出现在main这个线程里面,错误是java.lang.。这个错误是你下标获取超出范围了,一般是例如你数组长度为2.但是你获取数组[3].这时候就会报这个错,建议你自己学会调试。。
希望能够帮到你!
㈢ java编译中出现了Exception in thread “main" java.lang.UnsupportedClassVersionError
这个问题确实是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。
1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。
2、如果都一致,但还是解决不了问题,那么你肯定不是直接在命令行中用javac来编译的,而是用类似于eclipse、netbeans这样的编译器来编译的。因为很多编译器都自带javac,而不是采用操作系统中的编译器。如果你的编译器是eclipse的话,那么需要在项目的属性里设置jdk版本,方法是右击项目-->properties-->java compiler --> Enable project specific settings -->将compiler compliance level设置为1.7,也就是与jvm一致的版本(在命令行中java -version所显示的版本)。
综上,如果你是用编译器来编译的话,请首先确保编译器自带的jdk版本是否和操作系统中的java版本一致。
见下图:
㈣ java报错Exception in thread "main" java.lang.Error:
你代码中的语法错误在System.out.println处,改成如下就好了
System.out.println("大了!你还有"+(c-(j+1))+"次机会!");
System.out.println("小了!你还有"+(c-(j+1))+"次机会!");
说说原因,System.out.println("大了!你还有" + c - (j + 1) + "次机会!");
括号里的肯定会先计算,括号里 j和1都是数字所以 用"+"之后也是数字, 令 int x = (j+1)
于是println括号里的内容等价于 "大了!你还有" + c - x + "次机会!"
这时从左往右顺序计算,"大了!你还有" + c 字符串和数字用“+”连接,这时"+"作连接符,假设 c = 10,"大了!你还有" + c 的结果是 “大了!你还有10”
==>“大了!你还有10”- x + "次机会!"
字符串和数字用“-”连接,问题就在这里了,“-”在java中要么用作表示负数,要么用作四则运算中的减。所以这里提示 运算符 - 不能连接 String 和 int。
另外,Scanner 使用后都建议手动关闭
innn.close();
inn.close();
on.close();
㈤ 关于java初学的问题 Exception in thread "main" java.lang.NoClassDefFoundError: hello
朋友,你的程序代码是没问题的,环境变量也没错,请检查一下你hello中的大小写问题,还有o不要写成0,还有一种可能是你也许忘记用javac命令编译文件才会出错,楼上的说的没错,java命令的执行对象是.class文件,javac命令的执行对象是.java文件
㈥ java程序出现Exception in thread "main"是怎么回事
程序要求输入姓名。分别输出姓和名。
如输入lee 。
输出fist name: lee last name: import java.util.Scanner; public class Program7
{ public static void main(String[] args) { int i,j; System.out.print("请随便输入姓名:");
Scanner ... 程序要求输入姓名。
分别输出姓和名。如输入lee 。
输出fist name: lee last name:
import java.util.Scanner;
public class Program7 {public static void main(String[] args)
{int i,j;System.out.print("请随便输入姓名:");
Scanner in=new Scanner(System.in);
String name=in.nextLine();
int n=name.length();
char[] ch=name.toCharArray();
for(i=0;i<n;i++);
{char c=ch[i];if(c!=' ')
System.out.println(ch[i]);
else
j=i+1;
for(j=i+1;j<n;j++);
{System.out.println(ch[j]);}}}}
出错提示:Exception in thread "main" java.lang.: 展开
㈦ Exception in thread "main" java.lang.NullPointerException
要解决这个问题需要复杂细致的流程,每个环节都很重要,避免出现不必要的差错。
对该exception的具体分析如下:
1、当有异常出现时,如果程序员没有将对其进行异常处理,那么异常将会出现在控制台上,如下面的控制台信息:
Exception in thread "main" java.lang.NullPointerException
at Main.f(Main.java:11)
at Main.main(Main.java:7)
第一行给出了是异常的原因,NullPointerException,这相当于c和c++里的空指针,所以必须处理,否则程序运行时会出错。
接下来的几行给出了出错的程序调用,指出了Main.java的11行出现java.lang.NullPointerException异常,但是具体的原因还得从调用的代码上去查找,这里是Main.java的第7行传递了null导致的。