Java-基础学习(2019.5.12)

Java基础学习2019.5.12(顺序、循环)
1、利用Java编写九九乘法表
public class test_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		for(int i=1;i<=9;i++)
		{
			for(int j=1;j<=i;j++)
				System.out.print(i+"*"+j+"="+i*j+"  ");
			System.out.println("\n");
		}
	}
}
2、(人口估算)美国人口调查局基于以下假设进行人口估算:

每七秒有一个人诞生
没13秒有一个人死亡
每45秒有一个移民迁入
编写一个程序,显示未来五年的人口数。假设当前的人口是312 032 486,每年有365天

public class test_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int bornEveHour = 60*60/7;  //每小时出生的人数
		int deathEveHour = 60*60/13; //每小时死亡的人数
		int migrateEveHour = 60*60/45;//每小时迁移入境的人数
		int changePopulationEveryDay = bornEveHour + migrateEveHour + deathEveHour;//一天内变化的人数
		int changePopulationEveryYear = changePopulationEveryDay *365;
	    System.out.print("5年后的人口数为:" + 312032486+(5*changePopulationEveryYear));
		
	}
}

3、实例学习:利用Java获得当前的北京时间
public class test_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		long tatalMilliseconds = System.currentTimeMillis(); // 获得现在的豪秒数,格林尼治时间
		long tatalSeconds = tatalMilliseconds/1000;  //获得现在的总秒数
		long Seconds = tatalSeconds%60;   //获得现在的秒数
		long tatalMinutes = tatalSeconds/60;   //获得现在得总分钟数
		long Minutes  = tatalMinutes %60; //获得现在得分钟数
		long tatalHour = tatalMinutes /60;  //获得现在的总小时
		long Hour = tatalHour%24+8;   //获得 现在的北京时间,北京为东八区加8个小时
		System.out.print("现在是北京时间"+Hour+"时"+Minutes+"分"+Seconds+"秒");
	   }

}

4、位运算应用-加密
public class test_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	      char a1='北',a2='京',a3='你',a4='好';
	      char secret='0';
	      a1=(char)(a1^secret);         //21512 ^ 54 
	                     //(101010000001000 ^ 110110)
	      a2=(char)(a2^secret);         //32933
	      a3=(char)(a3^secret);         //24037
	      a4=(char)(a4^secret);         //22823
	      System.out.println("密文:"+a1+a2+a3+a4);
	      a1=(char)(a1^secret);   
	      a2=(char)(a2^secret);
	      a3=(char)(a3^secret);  
	      a4=(char)(a4^secret);
	      System.out.println("原文:"+a1+a2+a3+a4);
	  }
}

密文:匧亜佐奍
原文:北京你好

5、10的阶乘
//while循环
public class test_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	   int i = 1,result=1;
	   while(i<=10)
	   {
		   result*=i;
		   i++;
	   }
	   System.out.print(result);
	    }

}
//do-while循环
public class test_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	   int i = 1,result=1;
	   do {
		   result*=i;
		   i++;
	   }
	   while(i<=10);
	  
	   System.out.print(result);
	    }
}

//for循环
public class test_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	    int n;
	   	long result;
	   	for (n=10,result=1; n>0; n--)
	       result*=n;
	       System.out.println("10!= " + result);

	    }

}

6、求满足 1 +2! + 3! + 4! + 5! + 6 !+ … +n! <= 9999
public class test_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	double sum =0 ; int i=1,g=1;
	while(sum<9999)
	{
		g*=i;
		sum+=g;
		i++;
	}
	System.out.print(i);
	}
}

7、假如有一条绳子长3000米,每天减去一半,请问需要花费几天时间,绳子的长度会短于5米?
public class test_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
	double a =3000;int i=1;
	while(a>5)
	{
		
		a=a/2.0;
		i++;
	}
	System.out.print("需要的天数为:"+i);
	}

}

8、演示二分查找
import java.util.*;

public class test_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	      int [] a={12,34,9,23,45,6,45,90,123,19,34};
	      Arrays.sort(a);     //排序
	      System.out.println(Arrays.toString(a));  //打印数据,如果直接system.out.println(a)则打印数组的首地址
	      int number=45;    //查找
	      int index=Arrays.binarySearch(a,number);    
	      if(index>=0){
	         System.out.println(number+"和数组中索引为"+index+"的元素值相同");   
	      }
	      else{
	         System.out.println(number+"不与数组中任何元素值相同"); 
	      }
	   }

}

猜你喜欢

转载自blog.csdn.net/qq_41767945/article/details/90180514