如何解决这种非法的表达方式?

时间:2019-02-14 12:58:04

标签: java

我正在学习用Java编程,并且正在做一个函数,要求输入两个整数并按降序打印并在两个整数之间打印介质。但这告诉我有一个非法的表达开始,您能帮我吗?

public class TestFicha1
{
    public static void main(String[] args) {
        Ficha1 f=new Ficha1();

        Scanner le = new Scanner(System.in);

       int a,b;
       double media;
       System.out.print("Insira 2 inteiros:");
       a=le.nextInt();
       b=le.nextInt();
       media =(a*b)/2;
       System.out.print(+f.decrescente(a,b,media));
    }
}

public class Ficha1
{ 
    public String decrescente(int a,int b,double media){
        if (b>a) {
            return ( "the order is:" +a+ "," +b+ ",media is:" +media+);
        }
    }
}

3 个答案:

答案 0 :(得分:0)

您似乎有尾随加号。请使用适当的IDE进行Java编程,它将解释您的编译错误。

答案 1 :(得分:0)

从中删除第一个+

System.out.print(+f.decrescente(a,b,media));

从中删除最后一个+

return ( "the order is:" +a+ "," +b+ ",media is:" +media+);

答案 2 :(得分:0)

因为您需要打印两个整数之间的。您需要使用+运算符来附加媒体值

    public static void main(String[] args) {

        Ficha1 f = new Ficha1();

        Scanner le = new Scanner(System.in);

        int a, b;
        double media;
        System.out.print("Insira 2 inteiros:");
        a = le.nextInt();
        b = le.nextInt();
        media = (a * b) / 2;
        System.out.print(f.decrescente(a, b, media));
    }
}

class Ficha1 {

public String decrescente(int a,int b,double media){

    if (b>a) {
    return ( "the order is:" +a+ ",media is:" + media+ ", "+b);
    }
    return null;
}
}