`

JAVA范例 三)条件控制语句(1)

 
阅读更多

实例14  判断输入的年份是否为闰年

import java.util.Scanner;

public class Control_01 {
	public static void main(String[] args) {
		System.out.println("请输入需要进行判断是否为闰年的年份:");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine(); 				// 从控制台上获取录入的信息
		if (str.length() != 4) { 					// 判断输入是不是合法的年份
			System.out.println("请输入正确的4位数!!");
		}
		int year = Integer.parseInt(str);			// 将字符串转换成int型
		boolean flag1 = year % 400 == 0; 		// 判断是否能被400整除,返回一个布尔值
		boolean flag2 = (year % 4 == 0) && (year % 100 != 0); 
		// 判断是否能被4整除但不能被100整除,返回一个布尔值
		String message = (flag1 || flag2) ? "是闰年" : "不是闰年"; 		// 利用条件运算符得出year是否是闰年
		System.out.println(year + " " + message); 				// 打印出相应的信息
	}
}

 

 实例15  抽奖活动

import java.util.Random;

public class Control_02 {
	final static int num = 4;				//设置抽奖号码的字符个数
	public static void main(String[] args) {
		Random rd = new Random();		//创建Random对象
		String str = "";
		for (int i = 0; i < num; i++) {		//连续生成4个范围在0和1之间的随机数
			String s = rd.nextInt(2) + "";
			str = str + randomSelection(s);	//将调用randomSelection方法后产生的结果连接在一起
		}
		System.out.println("您的抽奖符号为:" + str);
		System.out.println(drawaLottery(str));
	}
	public static String randomSelection(String str) {//根据随机数获取相应的符号
		if (str.equals("1")) {					//1:表示实体五角星;0:表示空心五角星
			return "★";
		} else {
			return "☆";
		}
	}
	public static String drawaLottery(String str) {	//根据生成的符号来兑奖
		if (str.equals("★★★★")) {
			return "恭喜您抽取了本次活动的一等奖,奖励人民币1000万元";
		} else if (str.equals("★★★☆")) {
			return "祝贺您抽取了本次活动的二等奖,奖励人民币80万元";
		} else if (str.equals("★★☆☆")) {
			return "祝贺您抽取了本次活动的三等奖,奖励人民币8000元";
		} else {
			return "谢谢您的参与!!";
		}
	}
}

 

实例16  小九九乘法表

public class Nine {
	public static void main(String[] args) {
		for (int i = 1, j = 1; j <= 9; i++) {
			System.out.print(i + "*" + j + "=" + i * j + " ");
			if (i == j) {
				i = 0;
				j++;
				System.out.println();
			}
		}
	}
}

 

实例17  如何列出素数

import java.util.Arrays;

public class ForCycle_06 {
	private static boolean[] primeNumber(int num){	//求质数
		if(num<=0){						//检查指定的范围
			System.out.println("范围必须大于0");
			return null;
		}
		boolean[]primes=new boolean[num+1];	//声明布尔类型数组,长度为范围+1.
		primes[1]=false;					//将特殊数字1抛出,因为1不是质数
		Arrays.fill(primes, 2,num+1,true);		//将布尔数组元素的值都赋为true
		int n=(int)Math.sqrt(num);				//Math.sqrt方法用于求开方
		for(int i=1;i<n;i++){
			if(primes[i]){					//如果是质数,那么i的倍数不是质数
				for(int j=2*i;j<=num;j+=i){
					primes[j]=false;
				}
			}
		}
		return primes;
	}
	public static void showPrimeNumber(int num){		//显示质数
		boolean [] primes=primeNumber(num);		//调用方法赋值给布尔类型的数组
		int n=0;
		if(primes!=null){
			for(int i=1;i<primes.length;i++){			//循环数组操作数组的元素
				if(primes[i]){					//如果数组元素值为true,则下标值为质数
					System.out.print(i+" ");		//输出质数
					if(++n%10==0)				//以每行10个质数输出
						System.out.println();
				}
			}
			System.out.println();
		}
		System.out.println("一共有"+n+"个");
	}
	public static void main(String[] args) {		
		int num = 100;							//声明求质数的范围
		System.out.println("范围在"+num+"内的质数有:");
		showPrimeNumber(num);					//调用方法显示质数
	}
}

  

实例18  Java中的递归

public class ForCycle_07 {
	public static int circleFactorial(int n) { 			// 利用循环的方式求阶乘
		int sum = 1;
		if (n < 0) {								// 判断参数n是否为负数
			throw new IllegalArgumentException("必须为正整数!");	// 抛出不合理参数异常
		}
		for (int i = 1; i <= n; i++) { 								// 执行n次循环操作
			sum *= i; 										// 每循环一次进行乘法运算
		}
		return sum; // 返回阶乘的值
	}
	public static int recursiveFactorial(int n) { 						// 利用递归算法求阶乘
		int sum = 1;
		if (n < 0)
			throw new IllegalArgumentException("必须为正整数!");	// 抛出不合理参数异常
		if (n == 1) {
			return 1; 										// 如果n=1则跳出循环
		} else {
			sum = n * recursiveFactorial(n - 1); 					// 运用递归计算
			return sum;
		}
	}
	public static void main(String[] args) {
		int n = 5;
		System.out.println("利用循环的方式求" + n + "的阶乘" +
				"\n其结果为:" 								// 调用circleFactorial
				+ circleFactorial(n)+"\n");
		System.out.println("利用递归算法求" + n + "的阶乘" +
				"\n其结果为:" 								// 调用recursiveFactorial
				+ recursiveFactorial(n));
	}
}

 

实例19 男生女生各多少人?

public class ForCycle_02 {
	public static void main(String[] args) {
		ForCycle_02 fc02 = new ForCycle_02(); 		// 创建本类的实例,用于调用本类的方法
		int sum; 								// 定义和的属性
		System.out.println("100~999之间的水仙花数为:");
		for (int i = 100; i <= 999; i++) { 	// 因为题意给出水仙花数是一个三位数,所以100-999就是它的范围
			int a = fc02.getSumOfCubic(i / 100);			// i / 100算出的是百位上的数字
			int b = fc02.getSumOfCubic((i / 10) % 10);		// (i / 10) % 10算出的是十位上的数字
			int c = fc02.getSumOfCubic(i % 10);			// i % 10算出的是个位上的数字
			sum = a + b + c;						//求三者之间的和
			if (sum == i) { 		// 判断该数如果等于其各位上的立方和,就打印出该数字即是 水仙花数
				System.out.print(i + "  ");
			}
		}
	}
	public int getSumOfCubic(int num) { 				// 用于计算参数num的立方和
		num = num * num * num;
		return num;
	}
}

 

实例20  求水仙花数

public class ForCycle_02 {
	public static void main(String[] args) {
		ForCycle_02 fc02 = new ForCycle_02(); 		// 创建本类的实例,用于调用本类的方法
		int sum; 								// 定义和的属性
		System.out.println("100~999之间的水仙花数为:");
		for (int i = 100; i <= 999; i++) { 	// 因为题意给出水仙花数是一个三位数,所以100-999就是它的范围
			int a = fc02.getSumOfCubic(i / 100);			// i / 100算出的是百位上的数字
			int b = fc02.getSumOfCubic((i / 10) % 10);		// (i / 10) % 10算出的是十位上的数字
			int c = fc02.getSumOfCubic(i % 10);			// i % 10算出的是个位上的数字
			sum = a + b + c;						//求三者之间的和
			if (sum == i) { 		// 判断该数如果等于其各位上的立方和,就打印出该数字即是 水仙花数
				System.out.print(i + "  ");
			}
		}
	}
	public int getSumOfCubic(int num) { 				// 用于计算参数num的立方和
		num = num * num * num;
		return num;
	}
}

 

实例21  求任意一个正数的阶乘

public class ForCycle_03 {
	public static void main(String[] args) {
		System.out.println("请输入一个正整数:");
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int layer = num;
		int j = 1;
		loop: while (true) { 			// break标号
			layer = layer * (num - j); 	// 算阶层的具体实现
			j++; // j不断自加
			if (j == num)
				break loop; 		// 如果j>I,就结束内偱环
		}
		System.out.println(num + "的阶层为:" + layer);
	}
}

 

实例22  求n的n次方

package Chapter03;

import java.util.Scanner;

public class ForCycle_04 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入底数:");
		int num = sc.nextInt();	// num表示的是底数
		System.out.println("请输入幂数:");
		int power = sc.nextInt();	// 表示是幂
		int result = 1;			// 表示最后的结果
		for (int i = 0; i < power; i++) {
			result = result * num;
		}
		System.out.println(num + "的" + power + "次方是   " + result);
	}
}

 

实例23  利用for循环输出几何图形

public class ForCycle_05 {
	public static void showEquilateral(int row) { 		// 输出等腰三角形图形
		for (int i = 1; i < row; i++) {	 				// 外层循环控制输出的行数
			for (int j = 1; j <= row - i; j++) { 			// j表示输出的空格数,其空格数=总行数-1
				System.out.print(" ");
			}
			for (int x = 1; x <= i * 2 - 1; x++) {		// x表示输出的字符"*",其个数=当前行数*2-1
				System.out.print("*");
			}
			System.out.println(); 				// 每输出一行就换行一次
		}
	}
	public static void showRhombus(int row) { 		// 输出菱形图形
		if (row >= 1) { // 判断传入的行数
			int x, y;
			for (x = 1; x <= row; x++) { 			// 先输出上半部分的正三角形
				for (y = 1; y <= row - x; y++)		// 控制左边输出的空格数
					System.out.print(" ");
				for (y = 1; y <= 2 * x - 1; y++)		// 控制输出的"#"数
					System.out.print("#");
				System.out.println(); 			// 每输出一行就换行一次
			}
			for (x = 1; x <= row; x++) { 			// 输出下半部分的正三角形
				for (y = 1; y <= x; y++)			// 控制左边输出的空格数,与上半部分正好相反
					System.out.print(" ");
				for (y = 1; y <= 2 * (row - x) - 1; y++)	// 控制输出的"#"数
					System.out.print("#");
				System.out.println(); // 每输出一行就换行一次
			}
		} else {
			System.out.println("您输入的行数错误,请重新输入!!!");
		}
	}
	public static void showLettersTriangle(int row) {		// 输出由小写字母排列的直角三角形
		for (int i = 1; i <= row; i++) { 				// 外层循环row次,输出row行
			for (int x = 1; x < i; x++)				// 字母由小到大排列输出
				System.out.print((char) (x + 96));	// x + 96是将数字转换成小写字母
			for (int y = i; y != 0; y--)				// 字母由大到小排列输出
				System.out.print((char) (y + 96));
			System.out.println(); 				// 每输出一行就换行一次
		}
	}
	public static void main(String[] args) { 
		System.out.println("(1) 输出等腰三角形图案");
		showEquilateral(7); 						// 输出行数为7的等腰三角形图案
		System.out.println("(2) 输出菱形图案");
		showRhombus(5); 						// 输出行数为5的菱形图案
		System.out.println("(3) 输出字母排列的直角三角形图案");
		showLettersTriangle(5); 					// 输出行数为5的字母排列的直角三角形图案
	}
}

 

实例24  杨辉三角

public class ForCycle_08 {
	public static void yh_Triangle(int array[][], int rows) { // 其作用是输出杨辉三角
		for (int i = 0; i <= rows; i++) { // 行循环
			for (int j = 0; j <= array[i].length - 1; j++) { 	// 列循环
				if (i == 0 || j == 0 || j == array[i].length - 1)
					array[i][j] = 1; 				// 将两边元素设为1
				else
											// 元素值为其正上方元素与左上角元素之和
					array[i][j] = array[i - 1][j - 1] + array[i - 1][j]; 
			}
		}
		for (int i = 0; i <= rows; i++) { 				// 行循环
			for (int j = 0; j <= array[i].length - 1; j++)	// 列循环
				
				System.out.print(array[i][j] + " "); 	// 输出数组元素
			System.out.println(); 				// 换行
		}
	}
	public static void main(String args[]) { 
		final int rows = 7; 						// 设置行数
		int array[][] = new int[rows + 1][]; 			// 声明二维数组,行数为8
		for (int i = 0; i <= rows; i++) { 				// 循环初始化数组
			array[i] = new int[i + 1];
		}
		System.out.println("杨辉三角如下:");
		yh_Triangle(array, rows); 					// 调用方法显示杨辉三角
	}
}

 

分享到:
评论

相关推荐

    Java范例大全 源码

    《Java范例大全》内容丰富、结构清晰,所选实例具有很强的实用性和针对性,不仅是为中初级Java开发者量身定做,而且还非常适合作为高级Java开发者的案头必备参考书。这是一本关于Java开发的大百科全书,以知识点为...

    Java范例开发大全

    《Java范例开发大全》共22章,内容涉及Java开发环境的搭建、Java基础类型与运算符、条件控制语句、异常处理、数组、字符串、输入输出流、面向对象及其四大特征、内部类与接口、Java常用类、集合、多线程编程、Java...

    java范例开发大全(pdf&源码)

    第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列出素数 29 实例18 Java中的递归 31 ...

    JAVA 范例大全 光盘 资源

    JAVA 范例大全 光盘 资源 书籍目录: 前言. 第1章 开发环境搭建 1 实例1 下载、安装并配置JDK 1 实例2 第一个Java程序 3 实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见...

    java范例开发大全源代码

     第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 小九九乘法表 28  实例17 如何列出素数 29...

    java范例开发大全

    第3章 条件控制语句(教学视频:75分钟) 26 3.1 if控制语句 26 实例14 判断输入的年份是否为闰年 26 实例15 抽奖活动 27 3.2 for语句 28 实例16 小九九乘法表 28 实例17 如何列出素数 29 实例18 Java中的递归 31 ...

    Java范例开发大全 (源程序)

     第3章 条件控制语句(教学视频:75分钟) 26  3.1 if控制语句 26  实例14 判断输入的年份是否为闰年 26  实例15 抽奖活动 27  3.2 for语句 28  实例16 小九九乘法表 28  实例17 如何列出素数 29  ...

    Java范例开发大全(全书源程序)

    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...

    Java开发技术大全(500个源代码).

    代码范例列表 第1章 示例描述:本章演示如何开始使用JDK进行程序的开发。 HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载...

    《Java和Android开发实战详解》第2到5章源代码-by 南邮-陈杨

    4.3 条件控制语句 63 4.3.1 if条件语句 63 4.3.2 if/else条件语句 64 4.3.3 switch条件语句 65 4.3.4 ?:条件运算符 68 4.4 循环控制语句 69 4.4.1 for循环语句 69 4.4.2 前测式的while循环语句 71 ...

    Java语言编码规范

    Java语言编码规范 1 介绍(INTRODUCTION) 3 1.1 为什么要有编码规范(WHY HAVE CODE CONVENTIONS) 3 1.2 版权声明(ACKNOWLEDGMENTS) 3 2 文件名(FILE NAMES) 4 ...11.1 JAVA源文件范例(JAVA SOURCE FILE EXAMPLE) 23

    4-Java分支、循环语句

    讲解了基本的程序分支结构,简单演示了一个循环代码的范例

Global site tag (gtag.js) - Google Analytics