黑马程序员技术交流社区
标题:
Java基础班第三天作业。
[打印本页]
作者:
kelin410
时间:
2016-3-7 12:59
标题:
Java基础班第三天作业。
作业,答案都在里面。
1.使用三元运算符完成如下练习(以int类型数据为例,数字要求键盘录入)
(1)比较两个数是否相等
int x = 5, y = 8;
System.out.println(x+" 和 "+y+" "+(x>y? "相等":"不相等"));
(2)获取两个数中最小值
int x = 5, y = 8;
System.out.println(x+" 和 "+y+" 相比:"+(x<y? x:y)+" 小");
(3)获取三个数中最小值(考虑能否用一条三元运算符实现)
int x = 55, y = 38, z = 86;
System.out.println(x+" , "+y+" , "+z+" 中 "+((x<y? x:y)<z? (x<y? x:y):z)+" 最小");
2.看程序写结果:请自己独立分析,先不要编译运行。
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果:x = 2, y = 2;
---------------------------------------------------
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果:x = 2, y = 1;
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果:x = 7, y = 2;
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果:x = 7, y = 1;
---------------------------------------------------
第五题
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
结果:打印输出 b
---------------------------------------------------
3.编写代码实现如下内容:if语句实现考试成绩分等级(写出不同的if-else格式)。
[90-100] A等。
[80-90) B等。
[70-80) C等。
[60-70) D等。
[0-60) E等。
请根据给定成绩,输出对应的等级。
说明:"["表示包含,")"表示不包含
if (x >= 90 && x <= 100) {
System.out.println("【优】");
} else if (x >= 80 && x <= 89) {
System.out.println("【良】");
} else if (x >= 70 && x <= 79) {
System.out.println("【中】");
} else if (x >= 60 && x <= 69) {
System.out.println("【及】");
} else if (x >= 0 && x <= 59) {
System.out.println("【差】");
} else {
System.out.println("您输入的成绩不合法!");
}
4.分析以下需求,并用代码实现:
(1)键盘录入一个整数给变量x,输出对应的变量y的值
(2)x值和y值的对应关系如下:
x<0 y=-1
x=0 y=0
x>0 y=1
(3)如果用户输入的x的值为2,程序运行后打印格式"x=2,y=1"
class Test {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输一个整数:");
int x = sc.nextInt(),y = 0;
if (x < 0) {
y = -1;
} else if (x == 0) {
y = 0;
} else {
y = 1;
}
System.out.println("x="+x+",y="+y);
}
}
5.用switch语句实现题目3的功能。
class Test {
public static void main (String[] args) {
dengJi ();
}
static void dengJi () {
Scanner sc = new Scanner(System.in);
System.out.println("请输学生成绩:");
int x = sc.nextInt();
if (x < 0 || x > 100) {
System.out.println("输入的成绩不正确!");
}else {
int temp = 0;
switch (x / 10) {
case 10:
case 9:
System.out.println("该学生的成绩等级为:A等");
break;
case 6:
System.out.println("该学生的成绩等级为:D等");
break;
case 7:
System.out.println("该学生的成绩等级为:C等");
break;
case 8:
System.out.println("该学生的成绩等级为:B等");
break;
default:
System.out.println("该学生的成绩等级为:E等");
}
}
dengJi ();
}
}
6.分析以下需求,并用代码实现:
(1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
(2)涨工资的条件如下:
[10-15) +5000
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
(3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
class Test {
public static void main (String[] args) {
run();
}
static void run() {
Scanner sc = new Scanner(System.in);
System.out.println("请输员工的基本工资:");
int x = sc.nextInt();
if (x < 0) {
System.out.println("员工的工资不能为负数!");
} else {
System.out.println("请输员工的工龄:");
int y = sc.nextInt();
if (y < 0 || y > 14) {
System.out.println("不合法的工龄!");
} else {
int a;
if (y == 0) {
a = 200;
} else if (y < 3) {
a = 500;
} else if (y < 5) {
a = 1000;
} else if (y < 10) {
a = 2500;
} else {
a = 5000;
}
System.out.println("您目前工作了 "+y+"年,基本工资为 "+x+"元, 应涨工资 "+a+"元,涨后工资 "+(x+a)+"元");
}
}
run();
}
}
7.分析以下需求,并用代码实现:
(1)键盘录入三个整数,按照从小到大的顺序输出
(2)如果用户输入的是3 2 1,程序运行后打印格式"按照从小到大排序后的顺序为:1 2 3"
class Test {
public static void main (String[] args) {
run();
}
static void run() {
Scanner sc = new Scanner(System.in);
System.out.println("请分别输入三个整数:");
int x = sc.nextInt(), y = sc.nextInt(), z = sc.nextInt();
if (x > y) {
x = x ^ y;
y = x ^ y;
x = x ^ y;
}
if (y > z) {
y = y ^ z;
z = y ^ z;
y = y ^ z;
}
if (x > y) {
x = x ^ y;
y = x ^ y;
x = x ^ y;
}
System.out.println("按照从小到大排序后的顺序为:"+x+" "+y+" "+z);
run();
}
}
8.看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
结果:y=5;
复制代码
作者:
Lee♥晓蕾
时间:
2016-3-7 15:17
谢谢分享
作者:
fighting2016
时间:
2016-3-7 22:11
谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2