//聲明數組
int[] array;
//分配內存空間
array = new int[6];
//給數組賦值
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
array[5] = 6;
int[] array2 = {1,2,3,4,5,6};
int[] array3 = new int[]{1,2,3,4,5,6};
綜合例子
import java.util.Arrays;
import java.util.Scanner;
public class Test {
//初始化數據
static String[] names = {"張三","李四","王五","小明"};
static int[] ages = {22,23,20,20};
static String[] states = {"正常","正常","正常","正常"};
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
do {
System.out.println("歡迎使用用戶管理系統");
System.out.println("1.查詢用戶");
System.out.println("2.添加用戶");
System.out.println("3.刪除用戶");
System.out.println("4.賬號凍結");
System.out.println("5.賬號解凍");
System.out.println("6.退出系統");
System.out.print("請選擇:");
num = scanner.nextInt();
switch(num) {
case 1:
System.out.println("------查詢用戶------");
System.out.println("編號\t\t姓名\t\t年齡\t\t狀態");
for(int i=0;i<names.length;i++) {
if(names[i]!=null) {
System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+ages[i]+"\t\t"+states[i]);
}
}
System.out.print("輸入0返回上級菜單");
num = scanner.nextInt();
break;
case 2:
System.out.println("------添加用戶------");
System.out.print("請輸入用戶姓名:");
String name = scanner.next();
if(nameIsExist(name)) {
System.out.println(name+"已存在,請勿重複添加!");
}else {
if(names[names.length-1]!=null) {
//創建新的數組,並且將老數組的值存入新數組
names = Arrays.copyOf(names, names.length+1);
names[names.length-1] = name;
System.out.print("請輸入"+name+"的年齡:");
int age = scanner.nextInt();
ages = Arrays.copyOf(ages, ages.length+1);
ages[ages.length-1] = age;
states = Arrays.copyOf(states, states.length+1);
states[states.length-1] = "正常";
}else {
int index = getFirstNull();
names[index] = name;
System.out.print("請輸入"+name+"的年齡:");
int age = scanner.nextInt();
ages[index] = age;
states[index] = "正常";
}
}
System.out.print("輸入0返回上級菜單");
num = scanner.nextInt();
break;
case 3:
System.out.println("------刪除用戶------");
if(names[0]==null) {
System.out.println("用戶已全部刪除!");
}else {
System.out.print("請輸入用戶名:");
name = scanner.next();
if(nameIsExist(name)) {
int index = getIndex(name);
if(index>=0) {
for(int i=index;i<names.length-1;i++) {
names[i] = names[i+1];
ages[i] = ages[i+1];
states[i] = states[i+1];
}
names[names.length-1] = null;
ages[ages.length-1] = 0;
states[states.length-1] = null;
}
}else {
System.out.println("您輸入的用戶不存在!");
}
}
System.out.print("輸入0返回上級菜單");
num = scanner.nextInt();
break;
case 4:
System.out.println("------賬號凍結------");
System.out.print("請輸入用戶名:");
name = scanner.next();
if(nameIsExist(name)) {
int index = getIndex(name);
String state = states[index];
if(state.equals("凍結")) {
System.out.println(name+"賬號已經被凍結,請勿重複操作!");
}else {
states[index] = "凍結";
System.out.println(name+"凍結成功!");
}
}else {
System.out.println("您輸入的用戶不存在!");
}
System.out.print("輸入0返回上級菜單");
num = scanner.nextInt();
break;
case 5:
System.out.println("------賬號解封------");
System.out.print("請輸入用戶名:");
name = scanner.next();
if(nameIsExist(name)) {
int index = getIndex(name);
String state = states[index];
if(state.equals("正常")) {
System.out.println(name+"已解封,請勿重複操作!");
}else {
states[index] = "正常";
System.out.println(name+"成功解封!");
}
}else {
System.out.println(name+"不存在,請重新輸入!");
}
System.out.print("輸入0返回上級菜單");
num = scanner.nextInt();
break;
case 6:
System.out.println("感謝使用本系統,再見!");
break;
}
}while(num==0);
}
/**
* 判斷用戶輸入的姓名是否已經存在於數組中
*/
public static boolean nameIsExist(String name) {
for(int i=0;i<names.length;i++) {
if(name.equals(names[i])) {
return true;
}
}
return false;
}
/**
* 找到名字在數組中的下標
*/
public static int getIndex(String name) {
for(int i = 0; i < names.length;i++) {
if(name.equals(names[i])) {
return i;
}
}
return -1;
}
/**
* 找到數組中第一個爲空的下標
*/
public static int getFirstNull() {
for(int i=0;i<names.length;i++) {
if(names[i] == null) {
return i;
}
}
return -1;
}
}