Java面向对象程序设计[董小园版][习题代码答案]-第一章

要点回顾

1)记事本运行Java:在记事本写代码>win R打开DOS>javac Test.java(javac -encoding UTF-8 Test.java)>java Test.java

实验和训练

1、缺点:a.没有设置格式b.没有输入范围提醒及minute限制

package train01;
import java.util.*;
public class Train01 {
	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个24小时制的时间:");
		int time=reader.nextInt();
		int minute=reader.nextInt();
		if(time>0&&time<=12) {
			System.out.println("12进制时间为:"+time+":"+minute);
		}
		else if(time>12&&time<=24) {
			System.out.println("12进制时间为:"+(time-12)+":"+minute);
		}
	}
}

2、注意:if语句中含有两句及以上内容时最好加上大括号

package train02;
import java.util.*;
public class Train02 {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个x:");
		double x=reader.nextDouble();
		double y;
		if(x<1) {
			y=x;
			System.out.println("y="+y);
			}
		else if(x>=1&&x<10) {
			y=2*x-1;
			System.out.println("y="+y);
			}
		else {
			y=3*x-11;
			System.out.println("y="+y);
		}
	}

}

3、

package train03;
import java.util.*;
public class Train03 {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个百分制成绩:");
		double score=reader.nextDouble();
		int n=(int)score/10;//做个flag
		switch(n) {
		case 10:
		case 9:System.out.println("成绩是:"+score+",相应的等级是:A");
		break;
		case 8:System.out.println("成绩是:"+score+",相应的等级是:B");
		break;
		case 7:System.out.println("成绩是:"+score+",相应的等级是:C");
		break;
		case 6:System.out.println("成绩是:"+score+",相应的等级是:D");
		break;
		case 5:
		case 4:
		case 3:
		case 2:
		case 1:
		case 0:System.out.println("成绩是:"+score+",相应的等级是:E");
		break;
		default:System.out.println("输入成绩有误!");
		}
	}
}

4、

package train04;
import java.util.*;
public class Train04 {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入过了几天:");
		int n=reader.nextInt();
		int m=n%7;//做个flag
		switch(m) {
		case 0:System.out.println(n+"天后是星期日");
		break;
		case 1:System.out.println(n+"天后是星期一");
		break;
		case 2:System.out.println(n+"天后是星期二");
		break;
		case 3:System.out.println(n+"天后是星期三");
		break;
		case 4:System.out.println(n+"天后是星期四");
		break;
		case 5:System.out.println(n+"天后是星期五");
		break;
		case 6:System.out.println(n+"天后是星期六");
		break;
		}
	}

}

5、

package train05;
import java.util.*;
public class Train05 {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个正整数:");
		int n=reader.nextInt();
		for(int i=0;i<n;i++) {
			System.out.print("*");
		}

	}

}

6、while

package train06_first;

public class Train06_first {

	public static void main(String[] args) {
		int sum=0,i=0;
		while(i>=0&&i<=100) {
			if(i%2==0)
				sum+=i;
			i++;
		}
		System.out.println("0~100之间的偶数和="+sum);
	}

}

do...while

package train06_second;
public class Train06_second {

	public static void main(String[] args) {
		int sum=0,i=0;
		do {
			if(i%2==0)
				sum+=i;
			i++;
		}while(i<=100);
		System.out.println("0~100的偶数和是:"+sum);
	}

}

for

package train06_third;

public class Train06_third {

	public static void main(String[] args) {
		int sum=0,i;
		for(i=0;i<=100;i++) {
			if(i%2==0)
				sum+=i;
		}
		System.out.println("0~100的偶数和是:"+sum);
	}

}

7、while[int i 一是为了循环,二是为了解放n,让n的值不变]

     缺点:对于阶乘来说int 范围相对有点小

package train07_first;
import java.util.*;
public class Train07_first {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个大于1的整数:");
		int n=reader.nextInt();
		int fac=1,i=1;
		while(n>=i) {
			fac*=i;
			i++;
		}
		System.out.println(n+"的阶乘="+fac);
	}

}

do...while

package train07_second;
import java.util.*;
public class Train07_second {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个大于1的整数:");
		int n=reader.nextInt();
		int fac=1,i=1;
		do {
			fac*=i;
			i++;
		}while(n>=i);
		System.out.println(n+"的阶乘="+fac);
	}

}

for

package train07_third;
import java.util.*;
public class Train07_third {

	public static void main(String[] args) {
		Scanner reader=new Scanner(System.in);
		System.out.println("请输入一个大于1的整数:");
		int n=reader.nextInt();
		int fac=1;
		for(int i=1;i<=n;i++) {
			fac*=i;
		}
		System.out.println(n+"的阶乘是:"+fac);
	}

}

8、

package train08;

public class Train08 {

	public static void main(String[] args) {
		for(int i=1;i<=9;i++) {
			for(int j=1;j<=i;j++) {
				System.out.print(j+"*"+i+"="+(i*j)+"\t");
			}
			System.out.println();
		}

	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值