java学习第二阶段,初始。。。

第一阶段结束,开始了第二阶段的学习,这个阶段主要是练习,然后反思。

拿了我们java老师的课堂编程题来练手,今天解决了一点,呵呵。。现在把题目和解决代码些出来。

asgn2pro1:

写Test.java,要求如下:

1. 传入一个int数,要求清除该数的低8位,高24位不变,将结果以十进制形式输出

2. 传入一个int数,要求将该数的低16位置1,高16位不变,将结果以十进制形式输出

3. 实现两个变量值的交换,要求不使用中间变量

asgn2pro2:

打印出四种形式的九九乘法表

形式1:
1*1= 1
1*2= 2  2*2= 4
1*3= 3  2*3= 6  3*3= 9
1*4= 4  2*4= 8  3*4=12  4*4=16
1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25
1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

形式2:
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81
1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25
1*4= 4  2*4= 8  3*4=12  4*4=16
1*3= 3  2*3= 6  3*3= 9
1*2= 2  2*2= 4
1*1= 1

形式3:
                                                                1*1= 1
                                                        1*2= 2  2*2= 4
                                                1*3= 3  2*3= 6  3*3= 9
                                        1*4= 4  2*4= 8  3*4=12  4*4=16
                                1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25
                        1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
                1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
        1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

形式4:
1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81
        1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
                1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
                        1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
                                1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25
                                        1*4= 4  2*4= 8  3*4=12  4*4=16
                                                1*3= 3  2*3= 6  3*3= 9
                                                        1*2= 2  2*2= 4
                                                                1*1= 1
asgn2pro3:

写LoopTest.java,分别使用while/do/for循环实现1x2x...x10。

asgn2pro4:

创建一个应用程序DateGenerator.java
要求提供的功能有:

//  在给定年份中 随机生成一个日期,返回的字符串格式为 YYYY-MM-DD
String getRandomDateInYear(int year)

// 给定年份和月份的情况下,从这个月中随机挑选一天,返回的字符串格式为 YYYY-MM-DD
String getRandomDateInMonth(int year, int month)

asgn2pro5:

将一个整数以二进制方式打印出来。
注意负数的处理。

还有6和7,不过悲剧的是我没解决出来。。。

现贴上上面的代码;

pro1

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
public static void main(String[] args) {
// TODO Auto-generated method stub
int exa = 3 ;
int exb = 4 ;
int i = 256 ;
project1.method1(i);
project1.exchange(exa, exb);
}
public static void method1( int i){
/*
* 传入一个int数,要求清除该数的低8位,高24位不变,将结果以十进制形式输出
*/
System.out.println(i
& 255 );
}

public static void method2( int i){
/*
* 传入一个int数,要求将该数的低16位置1,高16位不变,将结果以十进制形式输出
*/
// 可惜没实现。。。有思路可以通知我

}

public static void exchange( int a, int b){
/*
* 实现两个变量值的交换,要求不使用中间变量
*/
System.out.println(
" Before exchange:a= " + a + " ,b= " + b);
a
= a + b;
b
= a - b;
a
= a - b;
System.out.println(
" After exchange:a= " + a + " ,b= " + b);
}
pro2

public static void method1(){
		for(int i=1;i<10;i++){
			for(int j=1;j<=i;j++){
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println();
		}
	}
	
	public static void method2(){
		for(int i=9;i>0;i--){
			for(int j=1;j<=i;j++){
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println();
		}
	}
	
	public static void method3(){
		System.out.println("The Formal 3:");//这种格式,可能出错,第四中显示方式为做下去,//其实和这个类似
		for (int i = 1; i < 10; i++) {
			for (int k = 0; k < (9 - i); k++) {
				System.out.print("       ");
			}
			for (int j = 1; j <= i; j++) {
				System.out.print(j + "*" + i + "=" + j * i + " ");
			}
			System.out.println();
		}
	}
pro3

public static void forloop(){
		int j=1;
		for(int i=1;i<=10;i++){
			j=j*i;
		}
		System.out.println(j);
	}
	
	public static void whileloop(){
		int j=1;
		int i=1;
		while(i<11){
			j=j*i;
			i++;
		}
		System.out.println(j);
	}
	
	public static void dowhileloop(){
		int j=1;
		int i=1;
		do{
			j=j*i;
			i++;
		}while(i<11);
		System.out.println(j);
	}
pro4

private Random random = new Random(System.currentTimeMillis());

	public String getRandomDateInYear(int year) {
		int month = random.nextInt(12) + 1;
		return getRandomDateInMonth(year, month);
	}

	public String getRandomDateInMonth(int year, int month) {
		if (year >= 0 && year <= 99) {
			year += 1900;
		}

		if (year < 0 || year > 9999 || month <= 0 || month > 12) {
			return "YYYY-MM-DD";
		}

		int day = random.nextInt(31) + 1;
		switch (month) {
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			break;
		case 2: {
			if (isLeapYear(year)) {
				day = random.nextInt(29) + 1;
			} else {
				day = random.nextInt(28) + 1;
			}
			break;
		}
		case 4:
		case 6:
		case 9:
		case 11:
			day = random.nextInt(30) + 1;
			break;
		default:
			break;
		}

		return year + "-" + (month < 10 ? "0" : "") + month + "-"
				+ (day < 10 ? "0" : "") + day;
	}
	public boolean isLeapYear(int year) {
		return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
	}
pro5

public static void tobina (int a){
		//String str=Integer.toBinaryString(a);
		System.out.println(Integer.toBinaryString(a));
	}

转载于:https://www.cnblogs.com/jckimi/archive/2011/01/27/1946556.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值