“if”语句的多重含义

时间:2011-10-22 05:33:55

标签: java if-statement multiprocessing

如果斜率1为正(大于零)且斜率1为正乘以-1,我试图实现

'线程中的异常“main”java.lang.Error:未解决的编译问题: 令牌“;”上的语法错误,。预期 slope1无法解析或不是字段

在LinearSlopeFinder.main(LinearSlopeFinder.java:25) ;

我尝试使用“,”而不是骰子

import java.util.Scanner;

public class LinearSlopeFinder {
    public static void main(String[]args){
        double x1, y1, x2, y2, n1, equation, constant = 0 ;
        double slope, slope1, slopeAns;
        Scanner myScanner = new Scanner(System.in);

        System.out.print("    What is the first set of cordinants? example: x,y ... ");
        String coordinate1 = myScanner.nextLine();
        String coordinates[] = coordinate1.split(",");
        x1 = Integer.parseInt(coordinates[0]);
        y1 = Integer.parseInt(coordinates[1]);

        System.out.print("    What is the second set of cordinants? example: x,y ... ");
        String coordinate2 = myScanner.nextLine();
        String coordinates1[] = coordinate2.split(",");
        x2 = Integer.parseInt(coordinates1[0]);
        y2 = Integer.parseInt(coordinates1[1]);

        //remember it is Rise over Run Y's over X's
        slope = (y1-y2);
        slope1= (x1-x2);
        slopeAns= slope / slope1 ;
            //below is the part that is not compiling but I am trying to insert
        if ( slope > 0 ; slope1 > 0 ){
            slope = slope * -1;
            slope1 = slope1 * -1;
        }

4 个答案:

答案 0 :(得分:3)

您希望将&&运算符用于'和'。我建议你阅读Java教程的operators section(其余的也很有价值)。

答案 1 :(得分:1)

;替换为&&

if( slope > 0 && slope1 > 0)

答案 2 :(得分:1)

这是错误的:

if ( slope > 0 ; slope1 > 0 ){

你的意思是:

if ( slope > 0 && slope1 > 0 ){

答案 3 :(得分:1)

在Java中,您正在寻找if语句的AND运算符,以组合来自slope>的两个布尔结果。 0和slope1> 0到一个布尔值。 AND运算符是&&所以试试:

if(scope > 0 && scope1 > 0) {
    scope *= -1;
    scope1 *= -1;
}

其他布尔逻辑运算符是| (或),& (AND),^(XOR),! (不),|| (短路OR),&& (短路AND),==(等于),!=(不等于),?:( IF-THEN-ELSE)。

|之间的区别和||在Java中,如果第一个语句结果为真,那么它将不会使用||评估第二个或更多语句但它将与|。同样适用于&&如果第一个语句等于false。