Java基础语法学习——练习项目

1.需求:定义一个类,对数组中的数据进行管理。

2.方法:

1)插入数据(第一次最多允许插入9个,然后允许再指定位置插入一个):public int[] insertData(){}

2)显示所有数据(插入数据前、插入数据后):public void showData(int[] a,int length){}

3)在指定位置插入数据:public void insertAtArray(int[] a,int n,int k){}

其中n表示要插入的数据,k表示插入位置的下标

4)显示能被3整除的数据:public void divThree(int[] a){}

5)显示提示信息的方法:public void notice();

3.演示效果:

 

 

  要求如下:  

  • 使用switch结构完成主体功能,并调用方法完成演示效果中所示的功能。

  • 如果输入0-4以外的数字,应给出错误提示。

package com.lijunlx;

import java.util.Scanner;

public class Demo {
    private static int[] arr=new int[10];//初始化数组
    
    //1--插入数据
    public int[] insertData(){
        Scanner n1 = new Scanner(System.in);
        for(int i=0;i<arr.length-1;i++){
            System.out.println("请输入第"+(i+1)+"个数据:");
            arr[i]=n1.nextInt();
        }
        for(int j=0;j<arr.length-1;j++){//显示定义的数组中9个元素
            System.out.print(arr[j]+" ");
        }
        System.out.println();
        return arr;    
    }
    
    //2--显示所有数据
    public void showData(){
        if(arr[9]==0){    //显示定义数组时输入的9个数据,此时第十个数默认为0
            for(int j=0;j<arr.length-1;j++){
                System.out.print(arr[j]+" ");
            }
            System.out.println();
        }
        else{      //显示执行过在指定位置插入数据以后的所有元素
            for(int j:arr){
                System.out.print(j+" ");
            }
            System.out.println();
        }
    }
    
    //3--在指定位置插入数据
    public void insertAtArray(int[] a,int n,int k){    
        for(int i=a.length-1;i>k-1;i--){
            a[i]=a[i-1];
        }
        a[k-1]=n;
        for(int j:a){
            System.out.print(j+" ");
        }
        System.out.println();
        
    }
    
    
    //4--显示能被3整除的数据
    public void divThree(int[] a){
        System.out.println("数组元素中能被3整除的元素为:");
        for(int i=0;i<a.length;i++){
            if(a[i]%3==0){
                System.out.print(a[i]+" ");
            }
        }
    }
    
    //0--退出
    public void notice(){
        System.out.println("退出程序!");
    }
    
    //显示星号及具体数字对应的操作
    public void printXing(){
        System.out.println("****************************");
        System.out.println("      "+"1--插入数据");
        System.out.println("      "+"2--显示所有数据");
        System.out.println("      "+"3--在指定位置处插入数据");
        System.out.println("      "+"4--查询能被3整除的数据");
        System.out.println("      "+"0--退出");
        System.out.println("****************************");
        System.out.println("请输入对应的数字进行操作:");
    }

//switch....case....
    public static void main(String[] args) {
        Demo pr = new Demo();  //定义对象
        pr.printXing();
        Scanner n = new Scanner(System.in);
        int tab = n.nextInt();
        boolean isExit=true;
        while(isExit){
            switch (tab) {       
            case 1:            //1--插入数据
                pr.insertData();
                pr.printXing();
                tab = n.nextInt();
                break;
            case 2:                //2--显示所有数据
                pr.showData();
                pr.printXing();
                tab = n.nextInt();
                break;
            case 3:                //3--在指定位置处插入数据
                System.out.println("请输入要插入的数据:");
                int n1 = n.nextInt(); // 插入的数据
                System.out.println("请输入要插入的数据的位置:");
                int k = n.nextInt();// 插入数据的位置
                pr.insertAtArray(arr, n1, k);
                pr.printXing();
                tab = n.nextInt();
                break;
            case 4:                //4--查询能被3整除的数据
                pr.divThree(arr);
                pr.printXing();
                tab = n.nextInt();
                break;
            case 0:                //0--退出
                pr.notice();
                isExit=false;
                break;
            default:            //非0-4的整数
                System.out.println("输入错误,请输入0-4的整数:");
                tab = n.nextInt();
            }
            
        }
        
    }

}

 

//第二种用if...else...主方法....

public static void main(String[] args) {
        Demo pr = new Demo();  //定义对象
        pr.printXing();
        Scanner n = new Scanner(System.in);
        int tab = n.nextInt();
        boolean isExit=true;
        while(isExit){
            if(tab==1){
                pr.insertData();
            }else if(tab==2){
                pr.showData();
            }else if(tab==3){
                System.out.println("请输入要插入的数据:");
                int n1 = n.nextInt(); // 插入的数据
                System.out.println("请输入要插入的数据的位置:");
                int k = n.nextInt();// 插入数据的位置
                pr.insertAtArray(arr, n1, k);
            }else if(tab==4){
                pr.divThree(arr);
            }
            if(tab==0){
                pr.notice();
                isExit=false;
            }else{
                pr.printXing();
                tab = n.nextInt();
            }
            
        }

posted @ 2017-08-09 16:44  猴面包  阅读(552)  评论(0编辑  收藏  举报