Java(循环语句作业)反序输出、万年历、回文数、99乘法口诀表、素数

import java.util.Scanner;


public class SXT_11_13 {


/**

*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SXT_11_13 ybx = new SXT_11_13();
// ybx.test1();
// ybx.test2();
// ybx.test2_method2();
// ybx.test3();
// ybx.test4();
// ybx.test5();
// ybx.test6();
//ybx.test7();
//ybx.test8();
//ybx.test9();
ybx.test10();
}


// 学校2009年培养学生900人,每年增长25%,请问按此速度增长,到哪一年培训学生人数将达到1万人。
private void test1() {
int year = 2009;
int students = 900;
while (students < 10000) {
students *= 1.25;
year++;
}
System.out.println("到" + year + "年培训学生人数将达到" + students);
}


// 要求用户输入一个整数,实现此数字的反转。例如:用户输入354,则输出4、5、3 。
private void test2() {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int num = input.nextInt();
int result = 0;
while (num != 0) {
result = num % 10 + result * 10;
num = num / 10;
}
System.out.println(result);
}


// 要求用户输入一个整数,实现此数字的反转。例如:用户输入354,则输出4、5、3 。
private void test2_method2() {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int num = input.nextInt();
int result = 0;
StringBuffer sb = new StringBuffer();
String str = sb.append(num).reverse().toString();
result = Integer.parseInt(str);
System.out.println(result);
}


// 用while 循环分别计算100以内奇数和偶数的和,并输出。
private void test3() {
int i = 1;
int sumJi = 0;
int j = 2;
int sumOu = 0;
while (j <= 100) {
sumJi += i;
i += 2;
sumOu += j;
j += 2;
}
System.out.println("100以内奇数和为:" + sumJi);
System.out.println("100以内偶数和为:" + sumOu);
}


// 循环输出200到1000之间,只要能被5整除,或则能被8整除的数。
private void test4() {
int i = 200;
while (i <= 1000) {
if (i % 5 == 0 || i % 8 == 0)
System.out.println(i);
i++;
}
}


// 用java模拟ATM取款机取钱过程。密码只能输入三次。
private void test5() {
int i = 0, code = 123456;
while (i < 3) {
Scanner input = new Scanner(System.in);
System.out.print("请输入密码:");
int answer = input.nextInt();
if (answer != code) {
System.out.print("密码输入错误,");
i++;
continue;
} else
System.out.println("密码正确");
System.exit(0);
}
System.out.println("对不起,三次输入错误。");
}


// 输入年份:年份必须在1900年到2100年之间,如果输入的年份超出这个范围,提示用户重新输入,直到用户输入的在这个区间之间。
// 输入月份:在1到12之间,
private void test6() {
// 输入年份
Scanner input = new Scanner(System.in);
System.out.print("请输入年份(1900-2100之间):");
int year = input.nextInt();
while (year > 2100 || year < 1900) {
System.out.print("输入有误,请重新输入年份:");
year = input.nextInt();
}
// 输入月份
System.out.print("请输入月份(1-12之间):");
int month = input.nextInt();
while (month > 12 || month < 1) {
System.out.print("输入有误,请重新输入月份:");
month = input.nextInt();
}
// 计算从1900年到目标年的天数
int totalDays = 0;
for (int i = 1900; i < year; i++) {
if ( (i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
totalDays += 366;//如果是闰年
else
totalDays += 365;//是平年
i++;
}
//System.out.println(totalDays);
//计算目标年份从1月到那一个月是多少天
int monthDay = 0 ;
for(int j = 1 ; j <= month ; j++){
switch(j){
case 2:
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){
monthDay = 29 ;
totalDays += 29;//如果输入年份是闰年
}else{
monthDay = 28 ;
totalDays += 28;//如果输入年份是平年
}
break;
case 4:
case 6:
case 9:
case 11:
monthDay = 30 ;
totalDays += 30;
break ;
default :
monthDay = 31;
totalDays += 31;
}
}
//计算当月的第一天是星期几
totalDays -= monthDay ;
int firstDay = totalDays % 7 + 1 ;
//输出万年历
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
int count = 0 ;
for(int i = 0 ; i <= firstDay ; i++ ){
System.out.print("\t");
count++ ;
}
for(int k = 1 ; k <= monthDay ; k++){
if(count % 7 == 0)
System.out.println("");
System.out.print(k+"\t");
count++ ;
}


}


// 输出10000-99999里面的所有回文数。说明:即12321是回文数,个位与万位相同,十位与千位相同。
private void test7() {
int i = 10000;
while(i <= 99999){
int ge = i % 10 ;
int shi = i % 100 / 10 ;
int qian = i % 10000 / 1000 ;
int wan = i / 10000 ;
if(ge == wan && shi == qian)
System.out.println(i + "是回文数");
i++;
}
}
//显示99乘法口诀表
private void test8(){
for(int i = 1 ; i <= 9 ; i++){
for(int j = i ; j <= 9 ; j++){
System.out.print(i+"x"+j+"=" + (i * j)+"\t");
}
System.out.print("\n");
}
}

//1~10之间的整数相加,得到累加值大于20的当前数.
private void test9(){
int sum = 0 ;
int i = 1 ;
for(; i <= 10 ; i++){
sum += i ;
if(sum > 20) break;
}
System.out.println(i);
}

//判断用于输入的任一个数字是否是质数(素数)
private void test10(){
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = input.nextInt();
if(1 == num ) System.out.println("1既不是质数也不是偶数");
if(2 == num ) System.out.println("2是质数");
for(int i = 2 ; i < num / 2 ; i++){
if( 0 == num % i ){
System.out.println(i+"不是质数");
break;
}
}
}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值