zoukankan      html  css  js  c++  java
  • JAVA基础第六组(5道题)

    26.【程序26】
    题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
            1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

    package com.niit.homework1;
    
    import java.util.Scanner;
    
    /**
     * @author: Annie
     * @date:2016年5月21日
     * @description:【程序26】 
                      题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。    
    
     */
    public class JudgeWeek {
    
        static Scanner reader = new Scanner(System.in);
        public static void main(String[] args) {
             String n;
            do{
            System.out.println("请输入第一个");
            String num = reader.next();
            num =smallChangBig(num);
            printJudge(num);
            System.out.println("是否继续(y/n)");
             n = reader.next();
            n=bigChangeToSmall(n);
            }while("y".equals(n));
        }
    
    
        private static void printJudge(String num) {
    
            switch (num) {
            case "M":
                System.out.println("今天是星期一");
                break;
            case "T":
                if("T".equals(num)){
                    System.out.println("请继续输入第二个字母");
                    String n = reader.next();
                    n=bigChangeToSmall(n);
                    if("u".equals(n)){
                        System.out.println("今天是星期二");
                    }else if("h".equals(n)){
                        System.out.println("今天是星期四");
                    }
                }
                break;
            case "W":
                System.out.println("今天是星期三");
                break;
    
            case "F":
                System.out.println("今天是星期五");
                break;
            case "S":
                if("S".equals(num)){
                    System.out.println("请继续输入第二个字母");
                    String n = reader.next();
                    n=bigChangeToSmall(n);
                    if("a".equals(n)){
                        System.out.println("今天是星期六");
                    }else  if("u".equals(n)){
                        System.out.println("今天是星期天");
                    }
                }
                break;
            default:
                System.out.println("输入错误,请重新输入:");
                break;
            }
    
        }
        /*将大写字母变成小写字母的方法*/
        public static String bigChangeToSmall(String num){
            String n= num.toLowerCase();
            return n;
            
        }
        
        /*将小写字母变成大写字母的方法*/
        public static String smallChangBig(String num){
            String n =num.toUpperCase();
            return n;
            
        }
    
    }

    27.【程序27】
    题目:求100之内的素数

    package com.niit.homework1;
    
    /**
     * @author: Annie
     * @date:2016年5月21日
     * @description:【程序27】  题目:求100之内的素数 (只能被一和本身整除的数)
    
     */
    public class PrintPrime {
    
        public static void main(String[] args) {
            PrintPrime p = new PrintPrime();
            System.out.print("100以内的素数有:");
            for (int i = 0; i <100; i++) {
                if(p.prime(i)){
                    System.out.print(i+" ");
                }
            }
        }
        /*判断此数是不是素数*/
        public boolean prime(int num){
            if(num<2){
                return false;
            }
            for (int j = 2; j <=Math.sqrt(num); j++) {
                if(num%j == 0){
                    return false;
                }
            }return true; 
    
        }
    
    }

    28.

    29.【程序29】
    题目:求一个3*3矩阵对角线元素之和
            1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

    /**
     * 
     */
    package com.niit.homework1;
    
    import java.util.Scanner;
    
    /**
     * @author: Annie
     * @date:2016年5月22日
     * @description:【程序29】  题目:求一个3*3矩阵对角线元素之和 
                   
     */
    public class MatrixSum {
        static Scanner in = new Scanner (System.in);
        public static void main(String[] args) {
            System.out.println("请输入你要求和的矩阵的行数n");
            int n = in.nextInt();
            int [][] arr = new int[n][n];
            MatrixSum ms = new MatrixSum();
            arr = ms.input(arr);
            System.out.println("对角线之和是:"+ms.diagonalSum(arr,n));
        }
        /**
         * @param arr
         * 用于计算主对角线和次对角线之和的方法
         */
        private int diagonalSum(int[][] arr,int n) {
            int sum = 0 ;
            if(n%2==0){//如果行数是偶数,这对角线中间不会重复相加
                sum = sumD(arr);
            }else{//如果是奇数行
                int i=n/2;
                sum = sumD(arr)-arr[i][i];
            }
            return sum;
        }
        /**
         * 输入数据,并将数据存在数组中的方法
         */
        private int[][] input(int [][] arr) {
            for (int i = 0; i <arr.length; i++) {
                for (int j = 0; j <arr[i].length; j++) {
                    System.out.println("请输入第 "+(i+1)+"行第"+(j+1)+"个数");
                    arr[i][j]=in.nextInt();
                }
            }System.out.println("原始数据是:");
            print(arr);
            return arr;
    
        }
    
        /**
         * @param arr
         * 打印二维数组的方法:
         */
        private void print(int[][] arr) {
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[i].length; j++) {
                    System.out.print(arr[i][j]+"	");
                }
                System.out.println();
            }
    
        }
        /**
         * @param arr
         * 用于计算行数是偶数的矩阵的对角线之和
         */
        private int sumD(int [][] arr){
            int sum=0;
            for (int i = 0; i<arr.length; i++) {
                sum = sum+arr[i][i];//累加主对角线        
            }
            for (int i = 0; i < arr.length; i++) {
                sum = sum+arr[i][arr.length-1-i];//累加次对角线之和
            }     
            return sum;//偶数行对角线求和
        }
    }

    30.【程序30】
    题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
           1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,
           依次后移一个位置。

    package com.niit.homework1;
    
    import java.util.Scanner;
    
    /**
     * @author: Annie
     * @date:2016年5月18日
     * @description:【程序30】 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 
                    
     */
    public class InsertNum {
        public static void main(String[] args) {
            int arr[]={1,4,6,9,13,16,19,28,40,100};
            int copy[]= new int [11];
            Scanner in =new Scanner(System.in);
            System.out.println("请输入要插入的数字:");
            int number = in.nextInt() ;
            System.out.println("原始数据是:");
            for (int i = 0; i < copy.length-1; i++) {
                copy[i] = arr[i];
                System.out.print(copy[i]+"	");
            }
    
            System.out.println();
            System.out.println("插入数据是:");
            printInsert(copy,number);
        }
        /**
         * 用于插入数据的方法:
         * */
        private static void printInsert(int [] copy,int number){
            int end =copy[9];
            int temp1;
            int temp2;
            if(number>=copy[9]){
                copy[10]=number;
            }else{
                for (int i = 0; i <copy.length; i++) {
                    if(copy[i]>number){
                        temp1= copy[i];
                        copy[i]=number;
                        for(int j=i+1;j<11;j++)
                        {
                            temp2=copy[j];
                            copy[j]=temp1;
                            temp1=temp2;
                        }
                        break;
                    }
                }
                for (int j2 = 0; j2 < copy.length; j2++) {
                    System.out.print(copy[j2]+"	");
                }
            }
        }
    }
  • 相关阅读:
    Linux常用命令3
    清空指定表的所有记录数据。
    向已经创建好的表添加和删除指定的列族或列。
    在终端打印出指定表的所有记录数据。
    列出HBASE所有表的相关信息,如表名、创建时间等。
    我在校园自动签到系统
    charles配置
    计算机网络第7版 PDF+ 计算机网络释疑与习题解答第7版 PDF 计算机网络 课后答案
    在HDFS中将文件从源路径移动到目的路径。
    删除HDFS中指定的文件。
  • 原文地址:https://www.cnblogs.com/wangmingxia/p/5520738.html
Copyright © 2011-2022 走看看