Java学习周记2

学习Java的第二周

感觉自己学习能力非常差,,,还是直接一点,上题目和代码吧,从实践中学技术才是王道。

Ch2Demo1


1.编写程序,随机产生1和12之间整数的程序,并且根据数字1,2,…,12显示相应的英文月份:January,February,…,December。


		month = (int) (Math.random()*12+1);
		month = new Random().nextInt(12)+1;

本题主要是涉及到了随机数的产生,我学到两种简单的方法,一个是数学公式包里调用,还有一个就是Java自带的随机数Radom类。

Ch2Demo2


2.编写可以玩流行的“剪刀-石头-布”游戏的程序,程序提示用户随机产生一个数,这个数为0,1,2,分别表示石头、剪刀和布。程序提示用户输入0、1、2,然后显示一条信息,表明用户和计算机谁赢了游戏,谁输了游戏,或是打了平手。
(如果考虑人或机器3盘两胜呢)


本题纯粹练手,没有啥新知识。

Ch2Demo3


3.编写程序,输入一个年份及月份,输出这个月有多少天。


毫无疑问这一题也是练手的。

Ch2Demo4


4.编写程序实现按国家最新发布的个人所得税来计算,输入一个人的工资,输出应该缴纳的税费是多少?


已经不想过多赘述了。

Ch2Demo5


5.编写程序,提示用户输入两个圆的中心坐标及各自的半径值,然后确定第二个袁与第一个圆的关系。


		double distance;
		distance = Math.pow((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2),0.5);//第一种方法
		distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));//第二种方法
		
		if (distance < Math.abs(r1 - r2)) {
			System.out.println("One circle is in another!");
		} else if (distance < (r1 + r2)) {
			System.out.println("Two circles intersect!");
		} else {
			System.out.println("The two circles do not intersect!");
		}

判断两圆关系,无非就是看圆心距离,两圆距离公式在代码里。然后还有一个比较实用方便的就是数学方法包里取绝对值的方法Math.abs() 了。

Ch2Demo6


6.编写程序,模拟抛硬币1000000次,统计出现正面和反面的次数。


		int result;
		int nums1 = 0, nums2 = 0;
		for (int i = 1; i <= 1000000; i++) {
			result = (int) (Math.random() * 2 + 1);
			if (result == 1) {
				nums1++;
			} else {
				nums2++;
			}
		}

简单,num1、num2为计数器分别计算正面和反面的次数,最后输出。

Ch2Demo7


7.编写程序,提示用户输入一个社保号码,它的格式是DDD-DD-DDDD,其中D是一个数字。你的程序应该判断输入是否合法。


		String insurance;	
		Scanner input=new Scanner(System.in);
		System.out.println("Enter a Insurance number:");
		insurance =input.nextLine();
		input.close();
		
		boolean b=insurance.matches("\\d{3}-\\d{2}-\\d{4}");   //正则表达式
		
		if(b) {
			System.out.println("right");
		}else {
			System.out.println("wrong!");
		}

本题主要学到了整行输入和正则表达式的使用。

Ch2Demo8


8.编写程序,假设一个车牌号码由三个大写字母和后面的四个数字组成,编程实现生成一个车牌号码并输出。


		StringBuffer s=new StringBuffer();
		for(int i=1;i<=3;i++) {
			s.append((char)(65+(int) (Math.random() *26 )));
		}
		
		for(int i=1;i<=4;i++) {
			s.append((int) (Math.random() *10 ));
		}
		System.out.println(s);

Java中字符串StringBuffer类及其内的append方法的使用。

Ch2Demo9


9.编写程序,读入未指定个数的整数,判断读入的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值,当输入0时结束,不对0计数。平均数以浮点数显示。


		int num;//读入的数
		int pnum = 0;//正数计数器
		int nnum = 0;//负数计数器
		int sum = 0;//总数
		double average;//平均数
		Scanner input = new Scanner(System.in);
		while((num = input.nextInt()) != 0) {
			sum += num;
			if(num > 0) {
				pnum += 1;
			}
			if(num < 0) {
				nnum += 1;
			}
		}
		input.close();
		average = (double)sum / (pnum+nnum);
		System.out.println("positive number:"+pnum+"\nnegetive number:"+nnum+"\naverage:"+average);

练手题,直接贴代码。

Ch2Demo10


10.假设今年一个大学的学费为10000元,学费的年增长率为5%。编写程序,计算4年后的学费,以及从今年开始4年内总学费是多少?


这种右手就能写出来的题目就不贴代码了。

总结

本周主要学习了Java里的数组,随机数,字符串,多少跟C/C++有些不同。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值