- 分支结构
- 循环结构
- 混合结构练习
- 参考资料
分支结构:
8. 写一个程序,输出类似09:03:12的时间格式,需要判断输入的数字是否符合实际情况,比如小时数就不能大于24,如果大于24就提示输入错误;分钟数和秒数不能大于60,如果大于60就提示输入错误。
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo18 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入小时:");
int hours = sc.nextInt();
System.out.println("请输入分钟:");
int minute = sc.nextInt();
System.out.println("请输入秒:");
int second = sc.nextInt();
if(hours>24 & minute>60 & second>60) {
System.out.println("输入非法");
}else {
if(hours/10%10<=0 & minute/10%10<=0 & second/10%10<=0){
System.out.println("0"+hours+":"+"0"+minute+":"+"0"+second);
}else if(hours/10%10>0 & minute/10%10<=0 & second/10%10<=0){
System.out.println(hours+":"+"0"+minute+":"+"0"+second);
}else if(hours/10%10<=0 & minute/10%10>0 & second/10%10<=0){
System.out.println("0"+hours+":"+minute+":"+"0"+second);
}else if(hours/10%10<=0 & minute/10%10<=0 & second/10%10>0){
System.out.println("0"+hours+":"+"0"+minute+":"+second);
}else if(hours/10%10>0 & minute/10%10<=0 & second/10%10>0){
System.out.println(hours+":"+"0"+minute+":"+second);
}else if(hours/10%10<=0 & minute/10%10>0 & second/10%10>0){
System.out.println("0"+hours+":"+minute+":"+second);
}else{
System.out.println(hours+":"+minute+":"+"0"+second);
}
}
}
}
9.使用if选择结构判断一个整数,属于哪个范围:大于0;小于0;
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo15 {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.println("请输入一个整数:");
int shu = sc.nextInt();
if(shu>0){
System.out.println("大于0");
}else if(shu==0){
System.out.println("等于0");
}else{
System.out.println("小于0");
}
}
}
10: 有3个整数,给出提示信息:
能否创建三角形;
如果能构建三角形,提示是直角三角形还是等边三角形等腰三角形还是普通三角形;
最后输出三角形面积;
package cn.bdqn.demo03;
import java.util.Scanner;
import java.util.*;
public class Demo17 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("边长a:");
double a = sc.nextDouble();
System.out.println("边长b:");
double b = sc.nextDouble();
System.out.println("边长c:");
double c = sc.nextDouble();
System.out.println("能否构造三角形?");
if(a+b>c && a+c>b && c+b>a){
System.out.println("可以构造三角形");
}
double q =(a+b+c)/2;
if (a*a==b*b+c*c || b*b==a*a+c*c || c*c== a*a+b*b) {
System.out.println( "直角三角形");
double s = Math.sqrt(q*(q-a)*(q-b)*(q-c));
System.out.println("面积为:"+s);
}else if(a==b & a==c & c==b){
System.out.println("等腰三角形");
double s1 = Math.sqrt(q*(q-a)*(q-b)*(q-c));
System.out.println("面积为:"+s1);
}else if(a==b | b==c){
double s2 = Math.sqrt(q*(q-a)*(q-b)*(q-c));
System.out.println("等边三角形"+s2);
}else{
double s3 = Math.sqrt(q*(q-a)*(q-b)*(q-c));
System.out.println("普通三角形"+s3);
}
}
}
11:随机输入一个字母,如果是大写字母就转化为小写字母输出;如果是小写字母就转化为大写字母输出。
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo09 {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.println("请输入字符:");
String s = sc.next();
String str="";
char[] arr =s.toCharArray();
for(int i=0;i'a'&&c<'z'){
char c1 = (char)(c-32);
str += c1;
}else if(c>'A'&&c<'Z'){
char c2= (char)(c+32);
str += c2;
}else{
str += c;
}
}
System.out.println("大小写转换结果:"+ str);
}
}
12:使用if结构实现学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo10 {
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.println("请输入学生成绩:");
int score = sc.nextInt();
if(score>=90){
System.out.println("A");
}else if(score>60 & score<89){
System.out.println("B");
}else{
System.out.println("C");
}
}
}
13:使用条件结构实现:岳灵珊同学参加到Java的学习,他父亲岳不群和母亲宁中则承诺:
如果岳灵珊的考试成绩==1OO分,父亲给她买辆车
如果岳灵珊的考试成绩>=90分,母亲给她买台笔记本电脑
如果岳灵珊的考试成绩>=60分,母亲给她买部手机
如果岳灵珊的考试成绩<60分,没有礼物
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo11 {
public static void main(String[] arge){
Scanner sc =new Scanner(System.in);
System.out.println("岳灵珊的考试成绩:");
int score = sc.nextInt();
if(score==100){
System.out.println("父亲给她买一辆车");
}else if(score>=90){
System.out.println("母亲给她买台笔记本电脑");
}else if(score>=60){
System.out.println("母亲给她买部手机");
}else{
System.out.println("没礼物");
}
}
}
14:使用条件结构实现,如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo12 {
public static void main(String[] arge){
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名:");
String name = sc.next();
System.out.println("请输入密码");
String code = sc.next();
if(name.equals("青") & code.equals("123")){
System.out.println("欢迎你,青");
}else{
System.out.println("对不起,你不是青");
}
}
}
15:求ax2+bx+c=0方程的根。
a,b,c分别为函数的参数,
如果:b2-4ac>0,则有两个解;b2-4ac=0,则有一个解;b2-4ac<0,则无解;
已知:
x1=(-b+sqrt(b2-4ac))/2a
x2=(-b-sqrt(b2-4ac))/2a
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo16 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入二次方系数a:");
double a = sc.nextDouble();
System.out.println("请输入一次方系数b:");
double b = sc.nextDouble();
System.out.println("请输入常数c:");
double c = sc.nextDouble();
double t=b*b-4*a*c;
if(a==0){
System.out.println("二次方程系数a不能为0!");
}else if(t>0){
double x1 = (-b+t)/(2*a);
double x2 = (-b-t)/(2*a);
System.out.println("x1="+x1+",x2="+x2);
}else if(t==0){
double x1 = (-b+t)/(2*a);
System.out.println("解为x2=x1="+x1);
}else{
System.out.println("无解!");
}
}
}
16:使用switch选择结构实现判断某年某月某日是这一年的第几天?
package cn.bdqn.demo03;
import java.util.Scanner;
public class Demo14 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("输入年份:");
int year =sc.nextInt();
System.out.println("输入月份:");
int month =sc.nextInt();
if( year % 4 ==0 && year % 100 !=0 || year % 400 == 0){
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(month+"月是31天!");
break;
case 2:
System.out.println(month+"月是闰年为29天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(month +"月是30天!");
break;
default:
System.out.println("数据有误!");
}
}else{
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(month+"月是31天!");
break;
case 2:
System.out.println(month+"月不是闰年为28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(month +"月是30天!");
break;
default:
System.out.println("数据有误!");
}
}
}
}
17:使用switch选择结构判断一个月份属于一年中的那个季节。(春夏秋冬)
package cn.bdqn.demo03;
public class Demo13 {
public static void main(String[] args){
// case穿透现象的使用
int month = 6;
switch (month) {
case 12:
case 1:
case 2:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
}
}
}



