`

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范例开发大全

    《Java范例开发大全》是一本全面覆盖Java编程的实用指南,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言。这本书包含了从基础到高级的各类编程概念和技巧,通过丰富的实例代码来阐述理论知识,使学习过程...

    Java范例开发大全代码

    1. **基础语法**:包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、流程控制(如if-else、for、while循环、switch语句)、方法定义和调用。 2. **面向对象编程**:类和对象的概念,构造函数,封装,...

    《java范例大全》源代码

    1. **基础语法**:Java的基础语法是学习的起点,包括变量声明、数据类型(如int、double、String等)、运算符(算术、比较、逻辑)、控制结构(if语句、switch语句、for循环、while循环)以及方法定义等。...

    java 范例大全源代码

    在"Java 范例大全源代码"中,你可能会看到各种基础示例,包括变量、数据类型、运算符、流程控制(如if语句、for循环、while循环)以及方法的使用。这些基础知识点构成了Java编程的基础,是每个Java开发者必须掌握的...

    Java通用范例开发金典源代码

    - 控制结构:包括条件语句(if-else,switch)和循环语句(for,while,do-while),这些都是编写任何程序的基础。 - 异常处理:Java的try-catch-finally结构,用于捕获和处理运行时错误。 - 数组和集合:如...

    java开发范例大全

    Java开发范例大全是一份非常宝贵的资源,它涵盖了从初级到中级Java开发者所需的各种实例,旨在帮助学习者深入理解和掌握Java编程语言的核心概念和技术。在这个压缩包中,你将找到一系列精心设计的Java源代码,这些...

    JAVA编程通用范例

    Java编程通用范例是开发者们在进行Java编程时经常会参考的一种资源,它包含了各种常见问题的解决方案和最佳实践。这份资料旨在提供一个可嵌套到实际项目中的代码库,帮助开发者快速解决遇到的问题,提高开发效率。...

    JAVA 范例开发大全 源代码

    1. **基础语法**:如变量、数据类型、运算符、流程控制(if-else、switch-case、for、while)、方法定义与调用等。 2. **面向对象**:类、对象、封装、继承、多态等概念,以及如何使用接口、抽象类来实现设计模式。...

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

    《Java范例开发大全源程序(下)》是针对Java编程语言的一份宝贵资源,包含了从第12章到第22章的丰富实例代码,旨在帮助开发者深入理解和掌握Java的各项核心特性。这份资料涵盖了广泛的Java编程主题,包括但不限于...

    JAVA范例开发大全

    《JAVA范例开发大全》是一本专注于Java编程实践的书籍,其源代码提供给学习者深入理解并亲手实践Java编程的宝贵资源。本书涵盖了广泛的知识点,旨在帮助开发者全面掌握Java语言,提升开发技能。 首先,Java作为一种...

    Java范例程序.rar_Java范例

    【Java范例程序.rar_Java范例】是一个包含基础Java编程示例的压缩包,适合初学者或希望巩固基础知识的开发者。这个压缩包中的资源旨在帮助用户理解和掌握Java语言的关键概念,通过实际代码来演示如何编写和运行Java...

    Java范例开发大全全书代码

    《Java范例开发大全》是一本深度探讨Java编程实践的书籍,其提供的全书源代码压缩包涵盖了370多个实例,旨在帮助开发者全面理解并掌握Java语言的应用。这些实例覆盖了Java语言的基础到高级特性,是学习和提升Java...

    Java范例开发大全(光盘源码)

    1. **基础语法**:书中涵盖了Java的基础语法,如变量、数据类型、运算符、流程控制(if语句、switch语句、for循环、while循环)、数组、字符串等。这些都是编程的基石,理解并熟练运用这些基本元素是学习任何编程...

    Java通用范例 开发金典

    1. **基础语法**:这部分可能包含变量声明、数据类型、运算符、流程控制(如if-else,switch,for,while循环)等内容,这些都是编写任何Java程序的基础。 2. **面向对象编程**:Java是一种面向对象的语言,范例...

    《Java通用范例开发金典》

    1. **基础语法**:Java的基础语法包括变量定义、数据类型、运算符、流程控制语句(如if、for、while)等,这些都是编写任何Java程序的基石。 2. **面向对象编程**:Java是一种面向对象的语言,涉及类、对象、继承、...

    JAVA培训范例I,初学者入门的经典实例

    例如,了解变量声明、数据类型(如整型、浮点型、字符型、布尔型等)、运算符(算术、关系、逻辑、位操作等)、流程控制语句(if条件语句、for循环、while循环、switch case等)都是必要的。这些基本元素构成了Java...

    Java范例开发大全源程序

    "Java范例开发大全源程序"无疑是一个丰富的资源库,提供了大量的示例代码,帮助开发者深入理解Java语言的各种特性和用法。这个资源包可能包含了从基础语法到高级特性的全方位示例,旨在促进实践操作和学习。 首先,...

    Java2范例入门与提高PDG格式

    其次,Java2的语法结构,包括基本数据类型、变量、运算符、流程控制语句(如if、for、while)、异常处理等,都是初学者必须掌握的基本功。同时,类和对象的创建、方法定义以及主函数(main方法)的使用,也是编写...

Global site tag (gtag.js) - Google Analytics