首页 > 电脑

在java编译中:缺少方法主体怎么解决?

更新时间2018-09-26 05:29:53

import java.io.*;

import java.util.*;

public class WhileRead

{

public static void main(String[] args) throws IOException;

{

int count=0,b;

System.out.print("请输入数据:");

  while ((char )(b=System.in.read())!=' ')

   {

   System.out.print((char)b);

   count++;

     }

     System.out.print(" 您输入了"+count+"个字符");

 }

}


很简单,你的

public static void main(String[] args) throws IOException;

最后多了一个分号而已,这样,定义变成声明了,程序就少了main方法主体

把分号删除就可以了


1)你没有理解类和类实例的关系,类是对一个拥有数据和方法的信息的定义,而类实例则是由这些定义派生得到的一个数据体;比如:Person是一个人的定义,也就是一个类,而人张三就是类Person的实例;因此他们之间是由很多的区别的;例如:static修饰的属性或者方法属于类的属性和方法,为所有的类实例所共享,类属性和方法由编译器在编译的时候作特殊处理,jvm在加载的时候就生成,保存在特殊位置;没有使用static修饰属性属于类实例的属性,在运行是通过实例化类对象才能产生,保存在堆中;因此类的方法不能处理类实例的属性;你的show方法被定义为类方法,但是在要访问类实例属性name,编译要出问题;
(2)java的语句需要分号来表示结束,但是方法定义不需要分号,你的show方法后面有个分号,编译出现问题;
(3)按照java的惯例,类名第一个字母要大写,类实例第一个字母要小写;你的person类于此惯例有违背

相关标签:java

上一篇:2芯电线1.0的电源线监控电源线60米能接3只220V30W的灯吗?

下一篇:VB运行时出现错误