class Soapwater
{
private String s;
public Soapwater()
{
System.out.println("Soapwater()");
s=new String("constrcuted");

}
public String toString()
{
return s;
}

}public class Water
{
private String si=new String("Happy");
private String s2="happy";
private String s3,s4;
int i;
float f;
Water()
{
System.out.println("Inside Water()");
s3=new String("joy");
i=50;
f=3.14f;
Soapwater case=new Soapwater();

}
void print()
{
if(s4==null)
s4=new String("joy");
System.out.println("s1= "+s1);
System.out.println("s2= "+s2);
System.out.println("s3= "+s3);
System.out.println("s4= "+s4);
System.out.println("i= "+i);
System.out.println("f= "+f);
System.out.println("case= "+case);

}
public static void main(String[] args)
{
Water b=new Water();
b.print();
}
}Javac提示:
D:\javacode>javac Water.java
Water.java:30: not a statement
                Soapwater case=new Soapwater;
                ^
Water.java:30: ';' expected
                Soapwater case=new Soapwater;
                          ^
Water.java:43: illegal start of expression
                System.out.println("case= "+case);
                                            ^
Water.java:43: ')' expected
                System.out.println("case= "+case);
                                                 ^
4 errors。请大家赐教!

解决方案 »

  1.   

    class Soapwater {
        private String s;    public Soapwater() {
            System.out.println("Soapwater()");
            s = new String("constrcuted");    }    public String toString() {
            return s;
        }}public class Water {
        private String s1 = new String("Happy");
        private String s2 = "happy";
        private String s3, s4;
        int i;
        float f;
        Soapwater caseObject ;    Water() {
            System.out.println("Inside Water()");
            s3 = new String("joy");
            i = 50;
            f = 3.14f;
            caseObject = new Soapwater();    }    void print() {
            if (s4 == null) s4 = new String("joy");
            System.out.println("s1= " + s1);
            System.out.println("s2= " + s2);
            System.out.println("s3= " + s3);
            System.out.println("s4= " + s4);
            System.out.println("i= " + i);
            System.out.println("f= " + f);
            System.out.println("case= " + caseObject);    }    public static void main(String[] args) {
            Water b = new Water();
            b.print();
        }
    }
      

  2.   

    To: mofeir(损人专家)
    ————————————————
    能说明一下为什么吗?我是新手,我看不明白为什么要这样改?
      

  3.   

    To: mofeir(损人专家)
    ————————————————
    是因为caseObject没有在前面声明对吗?你在前面加了一句:
    Soapwater caseObject ;
      

  4.   

    还有,为什么一定要用caseObject这个名字,用case不行吗?
      

  5.   

    晕, 忍不住想说一句. 楼主基础也太差了吧! 从C到C++到JAVA, 大概没人不知道case是关键字吧??!!
      

  6.   

    或许你说的对,我的基础太差,我才可以学Java三天。不过我真的不知道C有case这个关键字。我的C学的不错,但我没有学C++,直接就学Java了。