如果斜率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;
}
答案 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。