系统

来源:互联网 发布:科科 网络用语 编辑:程序博客网 时间:2024/04/24 12:02
//请完成系统
//1.让用户先看到一个简陋的欢迎界面--可以直接打印
//2.让用户进行操作,选择他要的操作
//操作如下:A.查询当前数组  b.对数组进行升序排序 C.降序排序
//         d.删除指定数字  E.查找是否有输入的数字存在  F.退出系统
//不管用户是输出大写A还是小写a都执行查询当前数组操作(所有的操作都不管大小写)
//系统要求:只要用户不选择6退出,则无限运行

public class XiTongFangFa {
 //欢迎界面的方法
 public static void huanYing() {
    System.out.println("***************");
    System.out.println("******欢迎*****");
    System.out.println("***************");
 }
 
 //输出当前数组
 public static void daYin(int[] a) {
    for(int i = 0;i<a.length;i++) {
      System.out.print(a[i]+"\t");
   }
  System.out.println();
 }
 
 public static int[] shengXu(int[] a) {
  //升序
  for(int i = 0;i<a.length;i++) {//将数组所有元素拿出来比较
   //让a[i]和它后面所有元素进行比较
   for(int j = i+1;j<a.length;j++) {
    if(a[i]>a[j]) {//交换位置
     int t = a[i];
     a[i] = a[j];
     a[j] = t;
    }
   }
  }
  System.out.println("升序成功");
  System.out.println();
  
  //在升序成功后马上输出
  System.out.println("现在数组为:");
  daYin(a);
  
  
  //由于数组变量名称没有改变,变得只是顺序,所以依然返回a数组
  return a;
 }
   
 //降序
 public static int[] jiangXu(int[] a) {
  for(int i = 0;i<a.length;i++) {
   for(int j = i+1;j<a.length;j++) {
    if(a[i]<a[j]) {
     int t = a[j];
     a[j] = a[i];
     a[i] = t;
    }
   }
  }
  System.out.println("降序成功");
  System.out.println();
  
  //在降序成功后马上输出
  System.out.println("现在数组为:");
  daYin(a);
  return a;
 }
 
 public static int[] shanChu(int xiaBiao,int[] a) {
  
  int[] b =  new int[a.length-1];//比原来的少一位
  
  //首先赋值,删除的下标前的元素
  for(int i = 0;i<xiaBiao;i++) {
   b[i]=a[i];
  }
  //赋值删除的下标后面的元素
  for(int i = xiaBiao+1;i<a.length;i++) {
   //由于b中没有删除的元素的位置,所以赋值时要-1
   b[i-1] = a[i];
  }
  System.out.println("删除成功");
  System.out.println();
  
  //在删除成功后马上输出
  System.out.println("现在数组为:");
  daYin(b);
  return b;//返回新数组b
 }
 
 //查找是否有输入的数字存在
 //num判断是否存在的数字
 public static void chaXun(int num,int[] a) {
  boolean flag = false;
  for(int i = 0;i<a.length;i++) {
   if(a[i]==num) {
    flag = true;
    System.out.println("存在此数值,下标为:"+i);
   }
  }
  if(!flag) {
   System.out.println("没有此数据在数组中");
  }
 }
 //菜单
 public static void caiDan() {
  System.out.println("请选择以下操作:");
  System.out.println("\tA.查询当前数组");
  System.out.println("\tB.升序排序");
  System.out.println("\tC.降序排序");
  System.out.println("\tD.删除指定数字");
  System.out.println("\tE.查找指定数字");
  System.out.println("\tF.退出");
 }
}

public class XiTong {
 public static void main(String[] args) {
  int[] arr = { 5, 4, 5, 1231, 4, 5, 147, 4, 5 };
  XiTongFangFa.huanYing();
  while (true) {
   XiTongFangFa.caiDan();
   Scanner sc = new Scanner(System.in);
   String str = sc.next();
   if (str.equals("A") || str.equals("a")) {
    XiTongFangFa.daYin(arr);
   } else if (str.equals("B") || str.equals("b")) {
    arr = XiTongFangFa.shengXu(arr);
   } else if (str.equals("C") || str.equals("c")) {
    arr = XiTongFangFa.jiangXu(arr);
   } else if (str.equals("D") || str.equals("d")) {
    System.out.println("请输入你要删除的数字");
    for (int i = 0; i < arr.length; i++) {
     System.out.println("输入" + (i + 1) + ":删除" + arr[i]);
    }
    int num = sc.nextInt()-1;
    arr = XiTongFangFa.shanChu(num, arr);
   } else if (str.equals("E") || str.equals("e")) {
    System.out.println("请输入你要查找的数字");
    int num = sc.nextInt();
    // 没有返回类型的方法不能被拿来赋值
    // 而有返回类型的方法可以不赋值
    XiTongFangFa.chaXun(num, arr);
   } else if (str.equals("F") || str.equals("f")) {
    return;
   } else {
    System.out.println("操作失误,请重新输入");
   }
  }
 }
}



原创粉丝点击