java流程控制——30练习题(1-5题)

1、要求用户输入两个数a和b,如果a能被b整除或者a加b大于1000,则输出a;否则输出b。

import java.util.Scanner;
public class Exer1 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入第一个整数:");
		int a = scan.nextInt();
		System.out.println("请输入第二个整数:");
		int b = scan.nextInt();
		
		if(a % b == 0 || a + b > 1000){
			System.out.println(a);
		}else{
			System.out.println(b);
		}
	}

}

2、使用条件结构实现,如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。

提示:先声明两个变量,一个是char型的,用来存放用户名,一个是int型的,用来存放密码。

import java.util.Scanner;
public class Exer2 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.print("输入用户名:");
		String name = scan.next();
		char c = name.charAt(0);//将字符串型转换为字符型
		System.out.print("输入密码:");
		int key = scan.nextInt();
		if("青".equals(name) && key == 123){
			System.out.println("欢迎你,青!");
		}else{
			System.out.println("对不起,你不是青.");
		}
	}
}

3、编写程序:从键盘上读入一个学生成绩,存放在变量score中,根据score的值输出其对应的成绩等级:
                score>=90                   等级:A
                70=<score<90             等级:B
                60=<score<70             等级:C
                score<60                     等级:D

import java.util.Scanner;
public class Exer3 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入学生成绩:");
		int score = scan.nextInt();
		if(score >= 90){
			System.out.println("等级:A");
		}else if(score >= 70 && score < 90){
			System.out.println("等级:B");
		}else if(score >= 60 && score < 70){
			System.out.println("等级:C");
		}else{
			System.out.println("等级:D");
		}
	}
}

4、求ax2+bx+c=0方程的根。
求ax2+bx+c=0方程的根。a,b,c分别为函数的参数,
如果a≠0,那么:
        (1)当b2-4ac>0,则有两个解;
        (2)当b2-4ac=0,则有一个解;
        (3)当b2-4ac<0,则无解;
如果a=0,b≠0,那么:x=-c/b
        提示1:Math.sqrt(num);  sqrt指平方根
        例如:
求x2-4x+1=0方程的根
求x2-2x+1=0方程的根

import java.util.Scanner;
public class Exer4 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("一元二次方程:ax^2 + bx + c = 0");
		
		System.out.println("请输入二次幂未知数系数a:");
		int a = scan.nextInt();
		
		System.out.println("请输入一次幂未知数系数b:");
		int b = scan.nextInt();
		
		System.out.println("请输入常系数c:");
		int c = scan.nextInt();
		
		int t = (b * b) - (4 * a * c);
		
		if(a == 0 && b != 0){
			double x = 0 - (c / b);
			System.out.println("该方程的解为:" + x);
		}else if(t > 0){
			double x1 = ((0 - b) + Math.sqrt(t)) / (2 * a);
			double x2 = ((0 - b) - Math.sqrt(t)) / (2 * a);
			System.out.println("该方程的解有两个,第一个解为:" + x1 + "第二个解为:" + x2);
		}else if(t == 0){
			double x = 0 - (b / (2 * a));
			System.out.println("该方程的解是两个相同的为:" + x);
		}else if(t < 0){
			System.out.println("该方程式无解。");
		}
	}

}

5、彩票游戏
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。

        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 Exer6 {
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入一个两位数:(10-99)");
		int a = scan.nextInt();
		
		int num1 = a / 10;
		int num2 = a % 10;
		
		int value = (int)(Math.random() * 90 + 10);//得到[10,99],即[10,100)
		System.out.println("开奖结果为" + value);
		int v1 = value / 10;
		int v2 = value % 10;
		
		if(v1 == num1 && v2 == num2){
			System.out.println("奖金10000美元。");
		}else if(v1 == num2 && v2 == num1){
			System.out.println("奖金3000美元。");
		}else if(v1 == num1 || v2 == num2){
			System.out.println("奖金1000美元。");
		}else if(v1 == num2 || v2 == num1){
			System.out.println("奖金500美元。");
		}else{
			System.out.println("此彩票作废。");
		}
	}
}

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MoerPerfect

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值