我想用三元运算符写多个语句。但是不知道如何写。
我要这样

public static void main(String[] args) {

    String replaceString,newString;
    Scanner user_input=new Scanner(System.in);
    String input=user_input.next();
    boolean choice=true;
    if(choice==true){
        System.out.println("Enter string to replace");
        replaceString=user_input.next();
        System.out.println("Enter new string");
        newString=user_input.next();
        input.replace(replaceString, newString);
        }
}


我想使用三元运算符在Java中编写以上代码。请帮助

最佳答案

不确定您要在这里做什么或为什么要这样做。另外,我将专注于您的特定问题,而不是您对Scanner的使用。

您不喜欢示例代码的if语句吗?

为什么要使用三元运算符?

底线:我认为三元运算符不适合您可能要尝试执行的操作。

Java三元运算符是编写简化的if...else...分配的单行方法。在示例代码中,您有一个if但没有else-没有明显的赋值-除非您打算分配该行的结果...

input.replace(replaceString, newString);

...转换为String变量。关于您的意图,我可能完全错了。

只要方法返回期望的类型,就可以通过方法分配三元运算符的值(在?问号之后并以:冒号分隔)。

以下使用三元运算符:

//
// BAD use of the ternary operator - NOT RECOMMENDED:
//
public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);
    String input = userInput.next();
    boolean choice = true;
    String replaced = (choice == true) ? whenTrue(userInput, input) : null;
}

private static String whenTrue(Scanner userInput, String input) {
    System.out.println("Enter string to replace");
    String replaceString = userInput.next();
    System.out.println("Enter new string");
    String newString = userInput.next();
    return input.replace(replaceString, newString);
}



我认为您最好使用if

关于java - Java中具有多个语句的三元运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60248340/

10-10 00:58