class String
    {
          public static void main()
               {
                    int x=0,y=1,z=2;
                    String sString="x,y,z";
                    System.out.println(sString + x+y+z);
                    System.out.println(y+z+sString);
               } 
}D:\>javac String.java
String.java:6: incompatible types
found   : java.lang.String
required: String
                    String sString="x,y,z";
                                   ^
String.java:7: operator + cannot be applied to String,int
                    System.out.println(sString + x+y+z);
                                               ^
String.java:8: operator + cannot be applied to int,String
                    System.out.println(y+z+sString);
                                          ^
3 errors为何出错?如何修改?

解决方案 »

  1.   

    报错就对了    “x,y,z” + 0+1+2 你能算出来吗??........
      

  2.   

    class String1
        {
              public static void main(String[]  args)
                   {
                        int x=0,y=1,z=2;
                        String sString="x,y,z";
                        System.out.println(sString + x+y+z);
                        System.out.println(y+z+sString);
                   } 
    }第一,你不可以用关键字String做类名
    第二,public static void main(String[]  args)
      

  3.   

    多谢楼上的,解决了!!
    我想问下,为什么输出sstring+X+Y+Z中,sstring用x,y,z来代替后,怎么不调用X=0,Y=1,Z=2这些数字?
      

  4.   

    在JAVA中字符串的  + 号是用来链接字符。的可以替代subString方法。而你的是字符型+数字型的。肯定出错了啊。还有。如果你 x+y+z的话要输出的话我个人觉得最好要加括号。如果你向输出字符型的话那你就的要把后面的数字型的强转为字符型的就好了
      

  5.   

    class String
    {
        public static void main()
        {
            int x=0,y=1,z=2;
            String sString="x,y,z";
            System.out.println(sString + String.valueOf(x+y+z));                    
            System.out.println(String.valueOf(y+z)+sString);
        } 
    }
      

  6.   

    x+y+z的话要输出的话我个人觉得最好要加括号
    加括号后,输出就变成3了
    原来输出是x,y,z012
    加了就是x,y,z3
    说明了+号在java中是分隔字符的作用,又学了一点!那第二个输出y+z+sstring中我要输出12x,y,z
    System.out.println(y+z+sString);应该怎么修改?前面加了+ 号分隔还是不行,
      

  7.   

    public class MyString
    {
        public static void main(String args[])
        {
            int x=0,y=1,z=2;
            String sString="x,y,z";
            System.out.println(sString + String.valueOf(x+y+z));                    
            System.out.println(String.valueOf(y+z)+sString);
        } 
    } 类名还得改,哈哈
      

  8.   

    那第二个输出y+z+sstring中我要输出12x,y,z
    System.out.println(y+z+sString);应该怎么修改?前面加了+ 号分隔还是不行,
      

  9.   

    什么意思 System.out.println(String.valueOf(y+z)+sString);y+z=3,你要得12,再乘4.
    System.out.println(String.valueOf(4*(y+z))+sString);
      

  10.   

    那第二个输出y+z+sstring中我要输出12x,y,z
    System.out.println(y+z+sString);应该怎么修改?前面加了+ 号分隔还是不行,最后那句改成: System.out.println(y+(z+sString));结果就是:12x,y,z
      

  11.   

    恩,楼上的方法,试过了,可以,加个括号解决了问题!!
    那 如果想输出12(x,y,z)呢?
    如何修改?想多了点,请大家见谅~
      

  12.   

    public class Stringplus { public static void main(String[] args) {
    double x = 9.87;
    double y = 1;
    System.out.println("" + x + y);//打印出字符串9.871.0
    System.out.println(x + y + "");//打印出字符串10.87 }}
    不知这段程序对lz有帮助么。