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("此彩票作废。");
}
}
}