1.分支结构内容总览
2.补充部分知识
2.1 Scanner 方法
以上代码每一次的结果都是需要用户修改代码,保存,重新编译之后才可以进行执行结果。对于普通用户而言,该操作可行吗?
我们需要给程序提供一种方式,用于接受用户输入的数据!!!
Scanner是Java中提供的用于从控制台输入数据到代码中的一种方式,存在一些弊端,容易导致一些错误,这里只要求大家了解一些必要的方法。
【Scanner操作哪里需要沾哪里】
Scanner使用流程
1. 点技能点,Java程序本身是没有直接使用Scanner的能力,这里需要点技能点。
官网操作【导包】
固定格式:
import java.util.Scanner;
放在class代码上一行
2. 需要得到一个Scanner的变量
固定格式:
Scanner sc = new Scanner(System.in);
3. 选择执行对应的方法,从键盘上获取对应的数据
获取int类型
int类型的变量 = sc.nextInt();
获取float类型
float类型的变量 = sc.nextFloat();
获取double类型
double类型的变量 = sc.nextDouble();
获取char类型
char类型的变量 = sc.nextLine().charAt(0);
2.2 用户友好性问题
代码运行需要站着用户的角度来思考问题。用户进行操作时,需要给予用户足够的提示和引导,告知用户当前操作如何完成,考虑代码的友好性!!!
用户粘性问题!!!用户提示!!!用户友好性!!!
eg.在用户输入信息时提示请输入xx
2.3 用户输入数据合法性判断
就算在提示中告知用户需要输入的数据范围是多少,但是用户在实际使用的过程中,依然存在输入错误的情况。需要对于用户输入的数据进行合法性判断,如果用户输入的内容符合我们的判断逻辑需求,进入数据处理过程。如果不符合要求,直接终止程序!!!
eg.
if (score > 100 || score < 0) {
System.out.println("输入数据不合法!!!");
// 程序退出
System.exit(0);
}
3.今日学习总结
1. 条件约束考虑清楚
2. 处理的过程考虑清楚
3. 数据类型选择
4.课后练习题
a. 用户输入一个【整数】,判断该整数是奇数还是偶数
奇数,打印 这是一个奇数
偶数,打印 这是一个偶数
import java.util.Scanner;
class Test416a {
public static void main (String []args){
int num;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
num = sc.nextInt();
if (num % 2 == 0 ){
/* Java中=是赋值运算,
==判断值是否相等,===是判断的是值及类型是否完全相等*/
System.out.println("这是一个偶数");
} else {
System.out.println("这是一个奇数");
}
}
}
b. 用户输入一个【浮点类型数据(float类型)】
判断大于99.99F 告知用户,您是VVIP
小于等于99.99F 告知用户 您不是VIP
import java.util.Scanner;
class Test416b {
public static void main (String []args){
float num = 0.0F;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数:");
num = sc.nextFloat();
if (num <= 99.9F ){
System.out.println("您不是VVIP");
} else {
System.out.println("您是VVIP");
}
}
}
c. 用户输入一个【整数】,判断当前用户的游戏段位是什么
【考虑用户输入合法性问题】
小于等于1000,青桐
1000 - 1200 白银
1200 - 1400 黄金
1400 - 1600 白金
1600 - 1800 钻石
1800 - 2000 大师
2000以上 王者
import java.util.Scanner;
class Test416c {
public static void main (String []args){
int score;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的游戏分数:");
score = sc.nextInt();
if ( score < 0 ){
System.out.println("输入数据不合法");
System.exit(0);
} else if ( score < 1000 ) {
System.out.println("倔强青铜");
} else if ( score < 1200 ) {
System.out.println("不屈白银");
} else if ( score < 1400 ) {
System.out.println("荣耀黄金");
} else if ( score < 1600 ) {
System.out.println("高贵铂金");
} else if ( score < 1800 ) {
System.out.println("璀璨钻石");
} else if ( score < 2000 ) {
System.out.println("超凡大师");
} else {
System.out.println("最强王者");
}
}
}
re < 1800 ) {
System.out.println(“璀璨钻石”);
} else if ( score < 2000 ) {
System.out.println(“超凡大师”);
} else {
System.out.println(“最强王者”);
}
}
}