java中对于数组的应用:
import java.util.Scanner;
public class arrChange{
public static void main(String[] args) {
int[] arr = new int[0];
mytools tool = new mytools();
do{
Scanner myScanner = new Scanner(System.in);
System.out.println("n请输入数字进行选择操作:");
System.out.println("1、定义初始数组n" + "2、添加元素n" + "3、升序排序n" + "4、降序升序n");
int systemInInt = myScanner.nextInt();
switch(systemInInt){
case 1:
arr = tool.arrDefine(arr);
tool.printArr(arr);
break;
case 2:
arr = tool.arrAdd(arr);
tool.printArr(arr);
break;
case 3:
arr = tool.arrSortByUp(arr);
break;
case 4:
arr = tool.arrSortByDown(arr);
break;
}
}while(true);
// arr = tool.arrDefine(arr);
// tool.arrAdd(arr);
// tool.arrSortByUp(arr);
// tool.arrSortByDown(arr);
}
}
class mytools{
public int[] arrSortByUp(int[] arr){
int temp = 0;
for (int j = 0;j < arr.length - 1;j++ ) {
for (int i = 0;i < arr.length -1 ; i++) {//内部循环也是length - 1,外部也是
if (arr[i] > arr[i+1]) {
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
System.out.println("进行升序之后的数组为:");
for (int i = 0;i < arr.length ;i++ ){
System.out.print(arr[i] + "t");
}
return arr;
}
public int[] arrSortByDown(int[] arr){
int temp = 0;
for (int j = 0;j < arr.length - 1;j++ ) {
for (int i = 0;i < arr.length -1 ; i++) {//内部循环也是length - 1,外部也是
if (arr[i] < arr[i+1]) {
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
System.out.println("进行升序之后的数组为:");
for (int i = 0;i < arr.length ;i++ ){
System.out.print(arr[i] + "t");
}
return arr;
}
public int[] arrAdd(int[] arr){
// 动态扩容数组arr
// 1.复制原来的数组
// 2.在基础上增加数组新元素
// 3.将原来数组指向新数组
do{
char flag;
int[] arrAdd = new int[arr.length + 1];
for (int i = 0;i < arr.length ;i++ ) {
arrAdd[i] = arr[i];
}
System.out.println("请输入你要添加的元素的值");
Scanner myScanner = new Scanner(System.in);
int addInt = myScanner.nextInt();
arrAdd[arrAdd.length - 1] = addInt;
arr = arrAdd;
System.out.println("扩容后的数组为:===================");
for (int i = 0;i < arr.length ;i++ ) {
System.out.print(arr[i] + "t");
}
System.out.println("n" + "请问是否还需要继续添加?y/n");
flag = myScanner.next().charAt(0);
if ( flag == 'y' ) {
continue;
}else if(flag == 'n'){
break;
}else{
System.out.println("输入错误,已经推出程序!");
break;
}
}while(true);
return arr;
}
public int[] arrDefine(int[] arr){
do{
char flag;
int[] arrAdd = new int[arr.length + 1];
for (int i = 0;i < arr.length ;i++ ) {
arrAdd[i] = arr[i];
}
System.out.println("请输入你要定义的元素的值");
Scanner myScanner = new Scanner(System.in);
int addInt = myScanner.nextInt();
arrAdd[arrAdd.length - 1] = addInt;
arr = arrAdd;
System.out.println("定义的数组为:===================");
for (int i = 0;i < arr.length ;i++ ) {
System.out.print(arr[i] + "t");
}
System.out.println("n" + "请问是否还需要继续添加?y/n");
flag = myScanner.next().charAt(0);
if ( flag == 'y' ) {
continue;
}else if(flag == 'n'){
break;
}else{
System.out.println("输入错误,已经推出程序!");
break;
}
}while(true);
return arr;
}
public void printArr(int[] arr){
System.out.println("定义的数组为:===================");
for (int i = 0;i < arr.length ;i++ ) {
System.out.print(arr[i] + "t");
}
}
}



