题目1:
岳小鹏参加java考试,他和父亲岳不群达成承诺:
如果:
- 成绩为100分,奖励一台BMW;
- 成绩为(80,90]时,奖励一台ipone xs max;
- 成绩为[60,80]时,奖励一个ipad;
- 其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断。
import java.util.Scanner;
class IfTest{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("请输入岳小鹏的期末成绩:(0-100)");
int score = scan.nextInt();
if(score == 100)
System.out.println("奖励一辆BMW");
else if(score > 80 && score <= 99)
System.out.println("奖励一台ipone xs max");
else if(score >= 60 && score <= 80)
System.out.println("奖励一个ipad");
else
System.out.println("什么奖励也没有");
}
}
说明:
1.else 结构时可选的;
2.针对于条件表达式:
>如果多个条件表达式之间是"互斥"关系(或者说是没有交集的关系),哪个判断语句和执行语句声明在上面还是在下面,无所谓。
>如果多个条件表达式之间有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明在上面。
>如果多个条件表达式之间有包含关系,通常情况下,需要将范围小的声明在范围大的上面。否则,范围小的就没机会执行。
题目2:
从键盘输入三个数,并按从小到大的顺序排序。
import java.util.Scanner;
class Sort{
public static void main(String[] args){
Scanner scan = new Scanner (System.in);
System.out.println("请依次输入三个整数:");
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int num3 = scan.nextInt();
if(num1 >= num2){
if(num3 <= num2)
System.out.println(num3 + "," + num2 + "," + num1);
else if(num3 >= num1)
System.out.println(num2 + "," + num1 + "," + num3);
else
System.out.println(num2 + "," + num3 + "," + num1);
}
else{
if(num3 >= num2)
System.out.println(num1 + "," + num2 + "," + num3);
else if(num3 <= num1)
System.out.println(num3 + "," + num1 + "," + num2);
else
System.out.println(num1 + "," + num3 + "," + num2);
}
}
}
题目3:
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票, 提示用户输一个两位数,然后按照下面的规则判定用户是否能赢。
(1) 如果用户输入的数匹配彩票的实际顺序,奖金10 000元。
(2) 如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3000美元。
(3) 如果用户输入的一个数字仅满足顺序情况下匹配彩栗的一个数字,奖金1 000美元
(4) 如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元
(5) 如果用户输入的数字没有匹配任何一个数字,则彩票作废。
思考:如何获取一个随机数:10 ~ 99
double value = Math.random(); // 该方法得到的是一个double型的数据值,范围在 [ 0.0,1.0 )左闭右开。
int value = (int)(Math.random() * 90 + 10); // [0.0,1.0) --> [0.0,90.0) --> [ 10.0,100.0) 然后强转为 int 型。
公式 : [a,b] : (int)(Math.random() * (b - a + 1) + a)
import java.util.Scanner;
class TestLottery {
public static void main(String[] args){
int ranNum = (int)(Math.random()* 90 + 10);//随机生成一个两位数
System.out.println("用户您好,请输入一个两位数:");
Scanner scan = new Scanner (System.in);
int useNum = scan.nextInt();
System.out.println("中奖号码为:" + ranNum);
int ranGe = ranNum % 10;
int ranShi = ranNum / 10;
int useGe = useNum % 10;
int useShi = useNum / 10;
if(ranNum == useNum)
System.out.println("恭喜您,中奖10000元");
else if(ranGe == useShi && ranShi == useGe)
System.out.println("恭喜您,中奖3000元");
else if(ranGe == useGe || ranShi == useShi)
System.out.println("恭喜您,中奖1000元");
else if(ranGe == useShi || ranShi == useGe)
System.out.println("恭喜您,中奖500元");
else
System.out.println("您没能中奖呢");
}
}
题目4:
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿当然要提出一定的条件:高: 180cm以上; 富:财富1千万以上;帅:是
- 如果这三个条件同时满足,则:“我一定要嫁给他!!”
- 如果三个条件有为真的情况,则:“嫁吧, 比上不足,比下有余。
- 如果三个条件都不满足,则:“不嫁!
法一:
import java.util.Scanner;
class IfExer1{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的身高:(cm)");
int heigh = scan.nextInt();
System.out.println("请输入你的财富:(千万)");
double wealth = scan.nextDouble();
System.out.println("请输入你是否帅:(true/false)");
boolean isHandsome = scan.nextBoolean(); // 从键盘输入boolean类型
if(heigh >= 180 && wealth >= 1 && isHandsome == true)
System.out.println("我一定要嫁给他");
else if(heigh >= 180 || wealth >= 1 || isHandsome == true)
System.out.println("嫁吧,比上不足,比下有余");
else
System.out.println("不嫁");
}
}
法二:
import java.util.Scanner;
class IfExer1{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入你的身高:(cm)");
int heigh = scan.nextInt();
System.out.println("请输入你的财富:(千万)");
double wealth = scan.nextDouble();
System.out.println("请输入你是否为帅:(是/否)");
String isHandsome = scan.next(); // 从键盘输入String类型:(是/否)
if(heigh >= 180 && wealth >= 1 && isHandsome.equals("是"))//string 类型不能用 "==" 来比较,而要用 equals ,如果匹配返回"true",否则返回"false"
System.out.println("我一定要嫁给他");
else if(heigh >= 180 || wealth >= 1 || isHandsome.equals("是"))
System.out.println("嫁吧,比上不足,比下有余");
else
System.out.println("不嫁");
}
}