1、找出一个数组的最小值
找出一个数组的最大值。
分析:创建一个max变量,用来承接每一次比较的最大值。
/**
* @author Hui
*/
public class FindMax {
public static void main(String[] args) {
int[] nums = {12,2,42,35,355,439,222,53};
int max = 0;
for(int i = 0;i < nums.length;i++){
if (max < nums[i]){
max = nums[i];
}
}
System.out.println("最大值为:" + max);
}
}
2、交换数组两个值的位置
交换数组中两个值的位置。
分析:交换位置就像两个人赌斗,需要另外一个人来做公证人。
代码:
/**
* @author Hui
*/
public class ChangeNumb {
public static void main(String[] args) {
int[] numbs = {12,32,4,23,4};
// 交换位置2和位置4的值。
int change = numbs[1];
numbs[1] = numbs[3];
numbs[3] = change;
}
}
3、数组的扩容
对一个数组进行扩容。
分析:数组本质上是不能改变大小的,所以需要定义一个更大的临时数组,然后把原始数组拷贝到初始数组,最后让原始数组的引用指向临时数组。
/**
* @author Hui
*/
public class UpNumbs {
public static void main(String[] args) {
// 定义原始数组。
int[] numbs = new int[]{1,2,3};
// 定义临时数组。
int[] up = new int[numbs.length*2];
// 拷贝。
for (int i = 0;i < numbs.length;i++){
up[i] = numbs[i];
}
// 原始数组的引用指向临时数组。
numbs = up;
}
}
4、人事管理系统(简单实现)
可以不断选择功能:一是新增工号,二是查询工号,三是退出系统。
注:仅利用一些基础知识简单实现,并未完善。
代码:
import java.util.Scanner;
/**
* @author Hui
*/
public class ManageSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 功能选择代码。
int flag = 0;
// 存放工号。
int[] nums = new int[3];
// 添加到哪一位的下标。
int currentIndex = 0;
do {
System.out.println("------人事管理系统------");
System.out.println("1、添加新工号\t2、查询工号" +
"\n3、输出所有工号\t4、退出系统");
System.out.println("请输入功能代码:");
flag = scanner.nextInt();
//添加工号。
if (flag == 1){
// 判断是否需要扩容。
if (currentIndex == nums.length){
int[] up = new int[nums.length+3];
for(int i = 0;i < nums.length;i++){
up[i] = nums[i];
}
nums = up;
}
System.out.println("请输入添加的工号:");
int addNum = scanner.nextInt();
nums[currentIndex] = addNum;
currentIndex++;
continue;
}
// 查询工号。
if (flag == 2){
System.out.println("请输入查询的工号:");
int check = scanner.nextInt();
String result = "查询失败,没有此人!";
for (int num : nums) {
if (check == num){
result = "查询成功,有此人!";
break;
}
}
System.out.println(result);
continue;
}
// 显示所有工号。
if (flag == 3){
System.out.println("所有工号为:");
for (int i = 0;i <= currentIndex;i++) {
System.out.print(nums[i] + "\t");
if (i != 0 && i%3 == 0){
System.out.println();
}
}
System.out.println();
continue;
}
// 退出系统。
if (flag == 4){
break;
}
}while (true);
}
}
注:if 可以改为switch-case。