/*需求:
判断外面天气
当下雨的时候:
带雨伞
判断性别:
男性:带黑伞
女性:带红伞
当晴天的时候:
判断温度:
30度以上的时候:
男:戴墨镜
女:涂防晒霜
天气,温度。性别都从键盘键入
*/
public class IfTest03
{
public static void main(String[]args){
System.out.println("1表示下雨,0表示晴天。");
System.out.println("1表示男性,0表示女性。");
//输入天气
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.println("please enter the weather condition");
int weather = s.nextInt(); //这里的s是固定的
//输入性别
//java.util.Scanner s= new java.util.Scanner(System.in); 写一遍就可以一直用
System.out.println("please enter your sex");
int sex = s.nextInt();
//判断天气雨天
if (weather ==1)
{
if(sex ==1){
System.out.println("take the black umbrella");
}else if (sex==0)
{
System.out.println("Take the red umbrella");
}else{
System.out.println("错误的性别");
}
//判断天气晴天
}else if (weather ==0)
{
// java.util.Scanner r = new java.util.Scanner(System.in);
System.out.println("please enter the degree");
int degree = s.nextInt();
if(degree>30){
if(sex ==1){
System.out.println("wear the sun glasses");
}else if(sex==0){
System.out.println("wear the sunscream.");
}
}
}else{
System.out.println("这种天气不存在");
}
}
}
几点小问题
1.java从键盘接收输入
java从键盘上中输入再存储到内存上的代码是:
//1.创建键盘扫描器对象
java.util.Scanner s= new java.util.Scanner(System.in);
/*2、程序执行到这里会停下来,等待用户输入。
当用户输入的时候,并且最终按回车键的时候,键入的信息会自动赋值给userInputContent
*/
String userInputContent = s.next(); 以字符串的形式接收文本
int num = s.nextInt(); 以整数型int形式接收文本
这里
java.util.Scanner s= new java.util.Scanner(System.in);
语句只要出现了一次就可以一直调用。不用每次要从键盘输入的时候都再写一遍。
以int型接收为例:
int num = s.nextInt();
int a = s.nextInt();
int b= s.nextInt();
上面的都是s.nextInt(); s是固定不变的。
2.java的字符串是否相等判断
最初我没用0和1表示下雨晴天男的女的,而是rain、sunny、male、female这种英文字符串,但是进行if判断的时候发现识别不了。
错误的代码是:
if (weather == rain)
这个其实就无法进行判断。
正确的办法我查了一下如果要进行字符串是否相等的判断应该用的方法是使用equals
函数.