二元运算符'&&'的错误操作数.请帮我找出问题所在

1 java if-statement operands

 package whowins;

import java.util.Scanner;
public class WhoWins {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    String candidate[] = {"Trump","Fiorina","Carson","Sanders"};
    String position[] = {"trumpPosition", "fiorinaPosition", "carsonPosition", "sandersPosition"};
    double supportTrump, supportFiorina, supportCarson, supportSanders;

    Scanner cs = new Scanner(System.in);

    System.out.println("What is Trump's support?");
    supportTrump = cs.nextDouble();
    System.out.println("What is Fiorina's Support?");
    supportFiorina = cs.nextDouble();
    System.out.println("What is Carson's support?");
    supportCarson = cs.nextDouble();
    System.out.println("What is Sander's support?");
    supportSanders = cs.nextDouble();

    if ((supportTrump) > (supportFiorina) && (supportCarson) && (supportSanders) {
        position[0] = ("First Place");
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是无法比较用户提供的双打.

if ((supportTrump) > (supportFiorina) && (supportCarson) && (supportSanders) { <--------这一行是一个错误,我已经尝试了一切.

Era*_*ran 7

supportCarson并且supportSanders不是布尔值,因此它们不能作为逻辑AND的操作数.

也许你打算写这个:

if  (supportTrump > supportFiorina && supportCarson > supportSanders)
Run Code Online (Sandbox Code Playgroud)

或这个 :

if  (supportTrump > supportFiorina && supportTrump > supportCarson &&  supportTrump > supportSanders)
Run Code Online (Sandbox Code Playgroud)