- 要求
1.假设你想开发一个玩彩票的游戏,程序随机地产 生一个两位数的彩票,提示用户输入一个两位 数,然后按照下面的规则判定用户是否能赢。 1)如果用户输入的数匹配彩票的实际顺序,奖金 10 000美元。 2)如果用户输入的所有数字匹配彩票的所有数 字,但顺序不一致,奖金 3 000美元。 3)如果用户输入的一个数字仅满足顺序情况下匹 配彩票的一个数字,奖金1 000美元。 4)如果用户输入的一个数字仅满足非顺序情况下 匹配彩票的一个数字,奖金500美元。 5)如果用户输入的数字没有匹配任何一个数字, 则彩票作废。
int cp = 0;
int r = new Random().nextInt(99 - 10 + 1) + 10;
System.out.println("本次中奖的号码为" + r);
System.out.println("请输入一个俩位数");
int input = scanner.nextInt();
if (input < 10 || input > 99) {
System.out.println("请输入10-99");
return;
}
int sw = r / 10; //随机数十位
int gw = r % 10;//随机数个位
int s = input / 10; //输入数十位
int g = input % 10; //输入数个位
if (r == input) {
cp = 10000;
} else if ((gw == g || sw == s) && (gw == s || sw == g)) {
cp = 3000;
} else if (sw == s || gw == g) {
cp = 1000;
} else if ((gw == g || sw == s) || (gw == s || sw == g)) {
cp = 500;
} else {
System.out.println("您的彩票作废了请重新购买");
}
System.out.println("你的奖金为" + cp);
2.使用双重循环打印20 * 8的矩形,使用for循环实现
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 20; j++) {
//当打印第二行 第三行 第四行的到时候 需要用空格替换
//这块 只需要判断当前是第几行
if (i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6) {
//但是这块 我们需要留着每行 行首和行尾的字符
//j 来控制 每行的 字符的个数
if (j > 0 && j < 19) {
System.out.print(" ");
continue;
}
System.out.print("* ");
continue;
}
System.out.print("* ");
}
System.out.println();
}
3.3000米长的绳子,每天减一半。问多少天这 个绳子会小于5米?不考虑小数。
两种方式
int day = 0;
int n = 3000;
while (n >= 5) {
day++;
n = n >> 1;
}
System.out.println("第" + day + "天绳子符合要求");
------------------------------------------------------------
int day=0;
for (int i = 3000; i >= 5; i/=2) {
day++;
}
System.out.println("第"+day+"天绳子符合要求");
4.两个对象a和b,请问a==b和a.equals(b)有什么区别?
答:如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,当内容相同时,返回true,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。