if-else语句为字符串

时间:2017-09-28 01:07:24

标签: java string conditional

我试图写一个条件语句,这样如果符合条件,那么字符串oranges ="是的请"。如果没有,那么应该说"不,谢谢"。我打算稍后在类似System.out.println的打印语句中使用字符串oranges(" y" +" m" +" d" +&#34 ;桔子&#34)。 y,m和d是用户输入。这是我的代码的相关部分。我做错了什么?

(经验水平:几天前刚刚开始使用Java)

String oranges;
      if ((y > 2777) && (m > 2) && (d > 22)){
        String oranges = "yes please";
      }
        else
        {String oranges = "no, thanks";
        }

6 个答案:

答案 0 :(得分:2)

您也可以选择酷路线并尝试三元运算符

 String oranges = ((y > 2777) && (m > 2) && (d > 22)) ? "yes please" : "no, thanks";

语法是?= then,:= else

在这种方法中,您只需要一个字符串变量。

快乐的Java编码!

答案 1 :(得分:1)

您的代码无法成功编译,您已声明oranges两次。看看全局变量和局部变量。权利应该是这样的:

String oranges;
if ((y > 2777) && (m > 2) && (d > 22)){
    oranges = "yes please";
}
else{
    oranges = "no, thanks";
}
System.out.println(oranges);

答案 2 :(得分:1)

问题是重新声明orange的数据类型,第一个声明很好然后第二个问题是你的输出不应该有引号中的橙色,因为它不会输出oranges变量的值。使用引号将导致橙色作为字符串输出。

以下是我刚才解释的一个例子



{{1}}




答案 3 :(得分:0)

请尝试:

public class JavaApplication1 {


    public static void main(String[] args) {

      String oranges = "Any thing you want";
      int y = 0;
      int m = 0;
      int d = 0;

      if ((y > 2777) && (m > 2) && (d > 22)){
        oranges = "yes please";
      }
      else{
        oranges = "no, thanks";
        }
     System.out.println(y+ m + d + oranges);
    }
    
}

答案 4 :(得分:0)

您应该将代码用作

String oranges="";
 //declare y,m and d and initialize with some value or read data from user
 //int y,d,m;
  if ((y > 2777) && (m > 2) && (d > 22)){
    oranges = "yes please";
  }
    else
    {
      oranges = "no, thanks";
    }
System.out.println(y+" "+m+" "+d+" "+oranges);

答案 5 :(得分:0)

以下是一些可用于实现目标的代码,并包含System.out.printf(String, Object...)打印方法(此方法提供的输出格式控制比单独System.out.println(String)更多; printf文档可以看到h̲e̲r̲e̲):

public class Solution {

    public static void main(String[] args) {

        // Code in which the variables y, m, and d are created and assigned proper values goes here.

        String oranges = ((y > 2777) && (m > 2) && (d > 22)) ? "yes please" : "no, thanks";
        System.out.printf("%d %d %d %s", y, m, d, oranges);
    }
}