java基本语法(流程控制语句)

it2022-05-05  145

/* 编写程序:由键盘输入三个整数分别存入变量num1、num2、num3, 对它们进行排序(使用 if-else if-else),并且从小到大输出。 说明:如果if-else if-else条件的执行语句块{}只有一条语句的话,那么这一对{}可以省略 建议:不要省略{} */ import java.util.Scanner; class TestApp{ public static void main(String[] args) { //1.从键盘获取三个整数 Scanner s = new Scanner(System.in); System.out.println("请输入第一个整数:"); int num1 = s.nextInt(); System.out.println("请输入第二个整数:"); int num2 = s.nextInt(); System.out.println("请输入第三个整数:"); int num3 = s.nextInt(); //2.对num1,num2,num3从小到大排序 System.out.println("从小到大的排序为:"); if(num1 > num2){ if(num3 > num1) System.out.println(num2 + "," + num1 + "," + num3); //System.out.println("helloworld"); else if(num3 < num2) System.out.println(num3 + "," + num2 + "," + num1); else System.out.println(num2 + "," + num3 + "," + num1); }else{ if(num3 > num2) System.out.println(num1 + "," + num2 + "," + num3); else if(num3 < num1) System.out.println(num3 + "," + num1 + "," + num2); else System.out.println(num1 + "," + num3 + "," + num2); } } }

 

/* 输出所有的水仙花数,所谓水仙花数是指一个3 位数,其各个位上数字立方和等于其本身。 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 */ class ShuiXianHua{ public static void main(String[] args) { for(int i = 100;i < 1000;i++){//实现100-999的遍历 456 - 400 = 56 - 50 int j1 = i / 100;//百位 int j2 = (i - j1*100)/10;//十位 int j3 = i % 10;//个位 if(i == j1*j1*j1 + j2*j2*j2 + j3*j3*j3){ System.out.println(i); } } } } public static void main(String[] args) { /* ***** ***** ***** ***** */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < 5;i++){//内层循环控制列数 System.out.print("*"); } System.out.println(); } /* * ** *** **** */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < j + 1;i++){//每行输出j + 1个 System.out.print("*"); } System.out.println(); } /* ***** **** *** ** * */ for(int i = 0; i < 5;i++){ for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++) System.out.print("*"); } System.out.println(); } /* * ** *** **** ***** **** *** ** * */ for(int j = 0;j < 4;j++){//外层循环控制行数 for(int i = 0;i < j + 1;i++){//每行输出j + 1个 System.out.print("*"); } System.out.println(); } for(int i = 0; i < 5;i++){ for(int j = 0;j < 5-i;j++){//for(int j = i;j < 5;j++) System.out.print("*"); } System.out.println(); } /* 打印如下图形 ----* ---* * --* * * -* * * * * * * * * i k- j* k = 4 - i j = i + 1 0 4 1 1 3 2 2 2 3 3 1 4 4 0 5 -* * * * --* * * ---* * ----* i k- j* k = i + 1 j = 4 - i 0 1 4 1 2 3 2 3 2 3 4 1 */ //上半部分: for(int i = 0;i < 5;i++){ for(int k = 0;k < 4 - i;k++){ System.out.print(" "); } for(int j = 0;j < i + 1;j++){ System.out.print("* "); } System.out.println(); } //下半部分 for(int i = 0;i < 4;i++){ for(int k = 0;k < i + 1;k++){ System.out.print(" "); } for(int j = 0;j < 4 - i;j++){ System.out.print("* "); } System.out.println(); } } /* 100以内的所有质数 */ class TestPrimeNumber{ public static void main(String[] args){ boolean flag = false; long start = System.currentTimeMillis();//获取系统当前的毫秒数 for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历 //如何判断i是否为一个质数 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ flag = true; break; } } if(!flag){//if(flag == false){ //System.out.println(i); } flag = false; } long end = System.currentTimeMillis(); System.out.println("所花费的时间为:" + (end - start)); //35535--加上break:10059--使用Math.sqrt(): } } public static void main(String[] args){ //boolean flag = false; long start = System.currentTimeMillis();//获取系统当前的毫秒数 l:for(int i = 2;i <= 100000;i++){//实现100以内的自然数的遍历 //如何判断i是否为一个质数 for(int j = 2;j <= Math.sqrt(i);j++){ if(i % j == 0){ //flag = true; //break; continue l; } } //if(!flag){//if(flag == false){ System.out.println(i); //} //flag = false; } long end = System.currentTimeMillis(); System.out.println("所花费的时间为:" + (end - start)); //35535--加上break:10059--使用Math.sqrt(): } /* 一个数如果恰好等于它的因子之和,这个数就称为"完数"。(因子:除去这个数本身正的约数) 例如6=1+2+3.编程 找出1000以内的所有完数 */ class TestApp{ public static void main(String[] args){ int factor = 0; for(int i = 1;i <= 1000;i++){ //每执行完一次如下的循环,就会将i的所有的因子累加到factor中 for(int j = 1;j < i;j++){ if(i % j == 0){ factor += j; } } if(i == factor){ System.out.println(i); } factor = 0; } } }

 

转载于:https://www.cnblogs.com/lzb0803/p/8998850.html


最新回复(0)