我是靠谱客的博主 背后口红,最近开发中收集的这篇文章主要介绍《Java程序设计》课程代码题(四),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.《找数组中最大值和最小值,以及他们的下标》

输入10个整数,放入一个数组中。并找出数组中最大值和最小值,以及他们的下标列表
输入要求
多组数据,每一组一行数据10个大于0的数,之间用空格隔开
输出要求
最大值 最大值下标列表
最小值 最小值下标列表
输入

1 2 3 4 5 1 2 3 4 5

输出

Max:5 at position: 4 9
Min:1 at position: 0 5

代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        while(sc.hasNextInt()){
            List<Integer>  min_list=new ArrayList<>();
            List<Integer>  max_list=new ArrayList<>();
            int [] nums=new int[10];
            for(int i=0;i<10;i++)
                nums[i]=sc.nextInt();
            int max=0,min=0;
            for(int i=1;i<10;i++){
                if(nums[i]>nums[max])
                    max=i;
                if(nums[i]<nums[min])
                    min=i;
            }

            for(int i=0;i<10;i++){
                if(nums[max]==nums[i])
                    max_list.add(i);
                if(nums[min]==nums[i])
                    min_list.add(i);
            }

            System.out.print("Max:"+nums[max]+" at position:");
            for(int i:max_list){
                System.out.print(" "+i);
            }
            System.out.println();
            System.out.print("Min:"+nums[min]+" at position:");
            for(int i:min_list){
                System.out.print(" "+i);
            }

     

        }
        sc.close();
    }
}

2.《最小值 最大值 均值》

给出10个数,请你设计3个方法分别来计算10个值得最小值,最大值,均值,方法如下
1.public static double min(double[] array)
2.public static double max(double[] array)
3.public static double average(double[] array)
输入要求
多组数据,每一组一行数据10个实数,之间用空格隔开
输出要求
先后输出最小值,最大值,平均值,之间用换行隔开,最后有换行!
每个结果统一保留两位小数!
输入

1 2.8 3.6 4 3.5 7 8 4 4 10
10 10 10 10 10 10 10 10 10 10

输出

1.00
10.00
4.79
10.00
10.00
10.00

代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        while(sc.hasNextInt()){
            List<Integer>  min_list=new ArrayList<>();
            List<Integer>  max_list=new ArrayList<>();
            double[] nums=new double[10];
            for(int i=0;i<10;i++)
                nums[i]=sc.nextDouble();
            System.out.println(String.format("%.2f", min(nums)));
            System.out.println(String.format("%.2f", max(nums)));
            System.out.println(String.format("%.2f", average(nums)));

        }
        sc.close();
    }
    public static double min(double[] array){
        double min=Double.MAX_VALUE;
        for(int i=0;i<array.length;i++){
            if(array[i]<min)
                min=array[i];
        }
        return  min;
    }
    public static double max(double[] array){
        double max=Double.MIN_VALUE;
        for(int i=0;i<array.length;i++){
            if(array[i]>max)
                max=array[i];
        }
        return  max;
    }
    public static double average(double[] array){

            double avg=0;
            for(int i=0;i<array.length;i++){
                avg+=array[i];
            }
            return  avg/(array.length*1.0);

    }


}

3.《数值出现次数》

给你一组整数型数字,让你来统计里面每个数字出现的次数)
输入要求
多组数据,每一组数据有n(1<= n <=100)个空格隔开的整数Ni(0<=Ni<=100),当输入0时,表示该组数据输入结束。
输出要求
每一行输出每个数字的出现次数
输入

10 100 100 2 3 1 10 3 7 8 0

输出

1 occurs 1 time
2 occurs 1 time
3 occurs 2 times
7 occurs 1 time
8 occurs 1 time
10 occurs 2 times
100 occurs 2 times

代码


import java.util.*;

public class main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);

        while(sc.hasNextInt()){
           int [] res=new int[101];
            List<Integer>  nums=new ArrayList<>();




              for(;;){
                  int num=sc.nextInt();
                  if(num==0)
                      break;
                  nums.add(num);
              }

           for(int i:nums)
               res[i]++;
            for(int i=0;i<=100;i++){
                if(res[i]==1)
                    System.out.println(i+" occurs "+res[i]+" time");
                else if(res[i]>1)
                    System.out.println(i+" occurs "+res[i]+" times");
                else
                    continue;

            }




        }
        sc.close();
    }


}

4.《数组顺移》

将数组的元素除第后一个元素外,所有元素后移一位,最后一位元素移动到第一位。
按格式输出源数组(输入的数据)和后移后的数组
参考方法:
/*
* 最后一名到第一位,其他的都后退一位
* @param a
* @return
*/
public static int[] shiftBackward(int[] a)

/*
 * 按格式输出一个数组
 * @param a 输出的数组
 * @param numberOfRow 每行元素个数
 * @param spliter 分隔字符
 */
public static void printArray(int[] a , int numberOfRow,String spliter )

输入要求
多组数据,每一组一行数据10个整数,之间用空格隔开
输出要求
源数组每行输出5个元素,并且以字符#分隔
后一位的数组每行输出4个元素,并且以*分隔
输入

1 2 3 4 5 6 7 8 9 10

输出

1#2#3#4#5
6#7#8#9#10
10123
4
567
8*9

代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class main {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        while(sc.hasNextInt()){
            int [] nums=new int[10];
            for(int i=0;i<10;i++)
                nums[i]=sc.nextInt();
            printArray(nums,5,"#");
            int num=nums[nums.length-1];
            for(int i=nums.length-2;i>=0;i--){
                nums[i+1]=nums[i];
            }
            nums[0]=num;
            printArray(nums,4,"*");
        }
        sc.close();
    }

    private static void printArray(int[] nums, int row, String s) {
        for(int i=0;i<nums.length;i+=row){
            for(int j=i;j<nums.length&&j<i+row;j++){
                if(j<row+i-1&&j<nums.length-1)
                    System.out.print(nums[j]+s);
                else{
                    System.out.println(nums[j]);
                }
            }
        }
    }
}

最后

以上就是背后口红为你收集整理的《Java程序设计》课程代码题(四)的全部内容,希望文章能够帮你解决《Java程序设计》课程代码题(四)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部