8、彩票游戏
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金 3 000美元。
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废。
提示:
- 使用Math.random() 产生随机数
- Math.random() 产生[0,1)范围的随机值
- Math.random() * 90:[0,90)
- Math.random() * 90 + 10:[10,100) 即得到 [10,99]
- 使用(int)(Math.random() * 90 + 10)产生一个两位数的随机数。
import java.util.Scanner;
public class TestCaiPiao{
public static void main(String[] args){
//1、随机产生一个两位数
//System.out.println(Math.random());//产生[0,1)
int number = (int)(Math.random()*90 + 10);//得到[10,99],即[10,100)
//System.out.println(number);
int numberShi = number/10;
int numberGe = number%10;
//2、用户输入一个两位数
Scanner input = new Scanner(System.in);
System.out.print("请输入一个两位数:");
int guess = input.nextInt();
int guessShi = guess/10;
int guessGe = guess%10;
if(number == guess){
System.out.println("奖金10 000美元");
}else if(numberShi == guessGe && numberGe == guessShi){
System.out.println("奖金3 000美元");
}else if(numberShi==guessShi || numberGe == guessGe){
System.out.println("奖金1 000美元");
}else if(numberShi==guessGe || numberGe == guessShi){
System.out.println("奖金500美元");
}else{
System.out.println("没中奖");
}
System.out.println("中奖号码是:" + number);
}
}
9、赌数游戏
提供三个1-6的随机数,作为掷骰子得到的点数。如果各个点数相同,则为豹子。
如果三个骰子点数和,小于或等于9,则为“小”。
如果三个骰子点数和,大于9,则为“大”。
用户随机选择:押大、押小或者押豹子。通过判断,输出客户是否押正确。
import java.util.Scanner;
public class GuessNumber{
public static void main(String[] args){
//1、产生一个[1-6]的数
int a = (int)(Math.random()*6+1);
//System.out.println(a);
int b = (int)(Math.random()*6+1);
//System.out.println(b);
int c = (int)(Math.random()*6+1);
//System.out.println(c);
String result = "";
if(a==b && b==c){
result = "豹子";
}else if(a+b+c <=9 ){
result = "小";
}else{
result = "大";
}
//2、用户输入猜的结果
Scanner input = new Scanner(System.in);
System.out.print("请押宝,买定离手:(选择:大、小、豹子)");
String guess = input.next();
//3、判断结果
if(result.equals(guess)){
System.out.println("猜对了");
}else{
System.out.println("猜错了");
}
}
}
10、生肖问题
编写一个程序,为一个给定的年份找出其对应的中国生肖。
中国的生肖基于12年一个周期,每年用一个动物代表:
rat(鼠)、ox(牛)、tiger(虎)、rabbit(兔)、dragon(龙)、snake(蛇)、 horse(马)、sheep(羊)、monkey(候)、rooster(鸡)、dog(狗)、pig(猪)。
提示:2019年:猪 2019 % 12 == 3
import java.util.Scanner;
public class ShengXiaoTest{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
int year = input.nextInt();
switch(year%12){
case 0:
System.out.println("猴年");
break;
case 1:
System.out.println("鸡年");
break;
case 2:
System.out.println("狗年");
break;
case 3:
System.out.println("猪年");
break;
case 4:
System.out.println("鼠年");
break;
case 5:
System.out.println("牛年");
break;
case 6:
System.out.println("虎年");
break;
case 7:
System.out.println("兔年");
break;
case 8:
System.out.println("龙年");
break;
case 9:
System.out.println("蛇年");
break;
case 10:
System.out.println("马年");
break;
case 11:
System.out.println("羊年");
break;
}
}
}
11、下面程序片段的输出结果是?
public static void main(String[] args) {
int a = 3;
int b = 1;
if(a = b){
System.out.println("Equal");
}else{
System.out.println("Not Equal");
}
}
答案:编译不通过
12、What is the result when you compile and run the following code?
public class Test{
public void method(){
for(int i = 0; i < 3; i++) {
System.out.print(i);
}
System.out.print(i);
}
}
A. 0122
B. 0123
C. compile error
D. none of these
答案:C
13、执行如下代码后,c的值是多少?
public static void main(String[] args) {
int a = 0;
int c = 0;
do {
--c;
a = a - 1;
} while (a >= 0);
System.out.println("c = " + c);
}
14、以下代码的运行结果?
public static void main(String[] args) {
int i=10;
while(i>0){
i = i +1;
if(i==10){
break;
}
}
System.out.println("i=" + i);
}
答案一:是一个负数,因为i一直累加会超过int的存储范围
答案二:死循环
15、修正如下代码
下面是一段程序,目的是输出10个=,但是不小心代码写错了,现在需要修改代码,使得程序完成功能,但是只能“增加”或“修改”其中“一个”字符,很明显,将i–改为i++,可以完成功能,但是需要修改“两个”字符,所以并不是一个正确的答案。
public static void main(String[] args) {
int n=10;
for (int i = 0; i < n; i--) {
System.out.println("=");
}
}
答案:i<n修改为-i<n
修改前是死循环,修改后:
16、打印九九乘法表
public static void main(String[] args) {
for(int i =1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j) + "\t");
}
System.out.println();
}
}