Day003-2021-08-02 自定义函数 双层for循环 键盘输入

第三天,已经没有第一天的那种态度了,但是目前还能坚持

一、自定义函数

函数又称为方法,自定义函数就是将部分操作封装成单独的方法,再去调用。其格式:

public static 返回数据的类型 函数名(形参1, 形参2, ...){
	操作过程;
	return 返回数据;
}

1.1 形式参数

调用函数时如果需要给这个函数提供参数,那么函数需要在括号里添加形式参数来接收实际参数。形参的命名没有特殊要求,但是调用函数时,实参的个数、顺序、数据类型必须和给定的形参相同。

1.2 返回值

如果函数没有返回值,那么声明函数时采用void关键字。如果函数有返回值,那么只能返回一个和声明类型相同的数据。

1.3 return/break/continue

return关键字还可以单独使用,来结束整个函数。
break和continue则是用于循环体中,且只作用于该关键字所在的最内侧循环。
break关键字用于直接结束并跳出该循环;
continue关键字用于结束该循环的当前单次循环,直接执行下一次循环。

二、双层for循环

双层for循环是将两次for循环嵌套使用。外层循环的每次循环过程中,内层循环都会全部循环一遍。内部循环多用于解决单个问题,如果过程较为复杂,可以单独封装为一个方法。

  1. 在一个水果的String数组中,找出出现最多的水果及出现的次数:
public class MaxCountFruit {
	public static void main(String[] args) {
		String[] arr = { "苹果", "菠萝", "苹果", "橘子", "梨子", "橘子", "桃子", "橘子" };
		int maxNumber = 0;
		String maxFruitName = null;
		for (String fruit : arr) {
			int count = 0;
			for (String name : arr) {
				if (fruit == name) {
					count++;
				}
			}
			if (count > maxNumber) {
				maxNumber = count;
				maxFruitName = fruit;
			}
		}
		System.out.println("最多的水果 " + maxFruitName + " 出现了 " + maxNumber + " 次");
	}
}

运行结果:
运行结果

  1. 计算5!+4!+…+1!:
public class Total {
	public static void main(String[] args) {
		int total = 0;
		for (int i = 5; i >= 1; i--) {
			int result = 1;
			for (int j = i; j >= 1; j--) {
				result *= j;
			}
			total += result;
		}
		System.out.println("5!+4!+...+1!=" + total);
	}
}

运行结果:
运行结果

  1. 输出九九乘法口诀表:
public class NineNine {
	public static void main(String[] args) {
		for (int j = 1; j <= 9; j++) {
			for (int i = 1; i <= j; i++) {
				System.out.print(i + "×" + j + "=" + i * j + "\t");
			}
			System.out.print("\n");
		}
	}
}

运行结果:
运行结果

三、键盘输入

实现键盘输入需要创建一个Scanner的对象,其格式:

Scanner scan = new Scanner(System.in);

通过创建的这个对象,可以接收键盘输入,常用的有整型输入和字符串输入。

int a = scan.nextInt();
String str = scan.next();

在程序结束之前,可以选择将这个对象关闭。

scan.close();

输入一个人名,判断他是否在员工数组内:

public class EnsureName {
	public static void main(String[] args) {
		String[] employee = { "老一", "老二", "老三", "老四", "老五", "老六" };
		System.out.println("请输入一个人名");
		Scanner sc = new Scanner(System.in);
		String sIn = sc.next();
		boolean flag = false;
		for (String name : employee) {
			if (name.equals(sIn)) {
				flag = true;
				break;
			}
		}
		System.out.println(flag ? "存在" : "不存在");
		sc.close();
	}
}

运行结果:
运行结果1
运行结果2

String msg = flag ? "存在" : "不存在";

这句运用的是三元运算符,也叫作三目运算符,其格式:

boolean类型的条件判断 ? 条件为true时的值 : 条件为false时的值

四、练习

制作一个人员名单管理系统,可以查询名单和添加人员:

import java.util.Arrays;
import java.util.Scanner;

public class Employee {
	static String[] employee = { "jack", "lucy", "rose" };
	static Scanner scan = new Scanner(System.in);

	public static void main(String[] args) {
		System.out.println("------欢迎进入员工管理系统------");
		welcome();
		System.out.println("-正在退出,请稍后...");
	}

	public static void welcome() {
		System.out.println("------主 菜 单------");
		System.out.println("-1.查询全部人员");
		System.out.println("-2.增加新人员");
		System.out.println("-3.退出");
		System.out.println("---------------------");
		String sIn = scan.next();
		if ("1".equals(sIn)) {
			showEmployee();
		} else if ("2".equals(sIn)) {
			addEmployee();
		} else if ("3".equals(sIn)) {
			return;
		} else {
			System.out.println("非法输入");
			welcome();
		}
	}

	public static void showEmployee() {
		System.out.println("------人员名单------");
		for (String name : employee) {
			System.out.println("\t" + name);
		}
		System.out.println("---------------------");
		welcome();
	}

	public static void addEmployee() {
		System.out.println("-请输入一个人员姓名");
		String sIn = scan.next();
		employee = addToArr(sIn, employee);
		System.out.println("-输入成功!");
		welcome();
	}

	public static String[] addToArr(String a, String[] arr) {
		arr = Arrays.copyOf(arr, arr.length + 1);
		arr[arr.length - 1] = a;
		return arr;
	}
}

运行结果:
运算结果1

运算结果2

Arrays.copyOf(arr, arr.length + 1);

这句是调用 Arrays 的 copyOf() 方法,用于创建一个新数组,第二个参数指定要建立的数组长度,并把第一个参数提供的数组的数据复制到该数组内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
旅游社交小程序功能有管理员和用户。管理员有个人中心,用户管理,每日签到管理,景点推荐管理,景点分类管理,防疫查询管理,美食推荐管理,酒店推荐管理,周边推荐管理,分享圈管理,我的收藏管理,系统管理。用户可以在微信小程序上注册登录,进行每日签到,防疫查询,可以在分享圈里面进行分享自己想要分享的内容,查看和收藏景点以及美食的推荐等操作。因而具有一定的实用性。 本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得旅游社交小程序管理工作系统化、规范化。 管理员可以管理用户信息,可以对用户信息添修改删除。管理员可以对景点推荐信息进行添修改删除操作。管理员可以对分享圈信息进行添,修改,删除操作。管理员可以对美食推荐信息进行添,修改,删除操作。管理员可以对酒店推荐信息进行添,修改,删除操作。管理员可以对周边推荐信息进行添,修改,删除操作。 小程序用户是需要注册才可以进行登录的,登录后在首页可以查看相关信息,并且下面导航可以点击到其他功能模块。在小程序里点击我的,会出现关于我的界面,在这里可以修改个人信息,以及可以点击其他功能模块。用户想要把一些信息分享到分享圈的时候,可以点击新增,然后输入自己想要分享的信息就可以进行分享圈的操作。用户可以在景点推荐里面进行收藏和评论等操作。用户可以在美食推荐模块搜索和查看美食推荐的相关信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值