JAVA07

6 篇文章 0 订阅

0701

将数组的元素除第后一个元素外,所有元素后移一位,最后一位元素移动到第一位。
按格式输出源数组(输入的数据)和后移后的数组
参考方法:
    /
     * 最后一名到第一位,其他的都后退一位
     * @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:
        输入:
        1 2 3 4 5 6 7 8 9 10
        输出:
        1#2#3#4#5
        6#7#8#9#10
        10*1*2*3
        4*5*6*7
        8*9
import java.util.Scanner;

public class oj_0701 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int[] a=new int[10];
        while (input.hasNext()){
            for(int i=0;i<10;i++){
                a[i]=input.nextInt();
            }
            int[] b=shiftBackward(a);
            printArray(a , 5,"#" );
            printArray(b , 4,"*" );
        }
    }
    public static int[] shiftBackward(int[] a){
        int[] b=new int[10];
        b[0]=a[9];
        System.arraycopy(a, 0, b, 1, 9);
        return b;
    }
    public static void printArray(int[] a , int numberOfRow,String spliter ){
        int c=0;
        for(int i=0;i<10;i++){
            c++;
            if(c%numberOfRow!=0&&c!=10){
                System.out.printf("%d%s",a[i],spliter);
            }
            if(c%numberOfRow==0||c==10)System.out.printf("%d\n",a[i]);
        }
    }
}

0702

求数组中的众数,也就是数组中出现次数最多个数。假设数据都大于0 。
输入要:
多组数据,每一组一行数据10个大于0的数,之间用空格隔开
输出要求:
众数 次数
数据示例1:
输入:
1 2 3 1 2 3 1 2 3 9
输出:
1 3
2 3
3 3
import java.util.Arrays;
import java.util.Scanner;

public class oj_0702 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] a = new int[10];
        while (input.hasNext()) {
            for (int i = 0; i < 10; i++) {
                a[i] = input.nextInt();
            }
            Arrays.sort(a);
            times(a);
        }
    }
    public static void times(int[] a) {
        int[] b = new int[100];
        for (int i = 0; i < 10; i++) {
            b[a[i]]++;
        }
        int maxt = b[0];
        for(int i=0;i<100;i++){
            if(b[i]!=0){
                if(maxt<b[i]){
                    maxt=b[i];
                }
            }
        }
        for (int i=0;i<100;i++){
            if(b[i]==maxt&&b[i]!=0){
                System.out.println(i + " " + b[i]);
            }
        }
    }
}

0703

 输入10个整数,放入一个数组中。并找出数组中最大值和最小值,以及他们的下标列表

输入要求:
多组数据,每一组一行数据10个大于0的数,之间用空格隔开

输出要求:
最大值  最大值下标列表
最小值  最小值下标列表

数据示例1:
输入:
1 2 3 4 5 1 2 3 4 5
输出:
Max:5 at position: 4 9
Min:1 at position: 0 5
思路提示:
    /
     * 找到数组中某值日出现的次数
     * @param array
     * @param v
     * @return

public static int[] getIndexs(int[] array, int v)
    /
            * 列出数组的元素
            * @param array
        * @return


public static String listArray(int[] array)
import java.util.Scanner;

public class oj_0703 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] a = new int[10];int v=0;
        while (input.hasNext()) {
            for (int i = 0; i < 10; i++) {
                a[i] = input.nextInt();
            }
            int max=a[0];int min=a[0];
            for (int j : a) {
                if (max < j) max = j;
                if (min > j) min = j;
            }
            int[] b=getIndexs(a,max);
            int[] c=getIndexs(a,min);
            System.out.print("Max:"+max);listArray(b);
            System.out.print("Min:"+min);listArray(c);
        }
    }
    public static int[] getIndexs(int[] array, int v) {
        int[] p = new int[array.length];int j=0,o=0;
        for (int i = 0; i < array.length; i++) {
                if (v== array[i]) {
                    p[j++] = i;
                    o++;
                }
            }
        int[] b=new int[o];
        for(int i=0;i<o;i++)b[i]=p[i];
    return b;
    }
    public static String  listArray(int[] array) {
        System.out.print(" at position:");
        for (int i = 0; i < array.length; i++) {
//        int i=0;
            System.out.printf("%d ",array[i]);
        }
         System.out.println();
        return "";
    }
}

0704

输入10各整数,前5个数据赋值给数组1,后5个整数赋值给数组2,判断一个整数数组是否相等。(不准用Arrays.sort()0:长度和元素顺序完全一致
      1:长度相等,但是元素顺序不一致
      -1:其他

    /**
     * 判断来那个数组属否相等
     * 0:长度和元素顺序完全一致
     * 1:长度相等,但是元素顺序不一致
     * -1:其他
     * @param array1
     * @param array2
     * @return

public static int equals(int[] array1, int[] array2)

输入要求:
        多组数据,每一组一行数据10个整数,之间用空格隔开
        前5个数据赋值给数组1,后5个整数赋值给数组2

        输出要求:
        输出 -1,0 ,1 中的一个

        数据示例1:
        输入:
        1 2 3 4 5 5 3 4 2 1
        1 2 3 4 5 6 7 8 9 0
        678 7 8 9 0 678 7 8 9 0
        输出:
        1
        -1
        0
import java.util.Arrays;
import java.util.Scanner;

public class oj_0704 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] a1=new int[5];int[] a2=new int[5];
        while (input.hasNext()) {
            for (int i = 0; i < 5; i++) {
                a1[i] = input.nextInt();
            }
            for (int i = 0; i < 5; i++) {
                a2[i] = input.nextInt();
            }
            int flag=equals(a1, a2);
            System.out.println(flag);
        }
    }
    public static int equals(int[] array1, int[] array2){

        boolean isequals = java.util.Arrays.equals(array1,array2);
        if(isequals) {
            return 0;
        }else {
            Arrays.sort(array1);
            Arrays.sort(array2);
            if(Arrays.equals(array1,array2)) {
                return 1;
            }else {
                return -1;
            }
        }
    }
}

0705

编写下面方法,将连个数组相减。’
public static int[] sub(int[] list1,int[] list2)
也就是剔除list1且存在list2中的元素。编写程序验证。


输入要求:
多组数据。每组数据10个整数,前六个整数为lis1元素,后4个数据为list2元素。以空格分隔

输出要求:
按原来的顺序输出剔除list2后的元素。
每行输出3个数据,中间用空格分隔


数据示例1:
输入:
1 2 3 4 5 6 0 0 0 0

1 4 5 7 8 9 0 9 7 1

1 4 7 2 5 8 0 0 0 10
输出:
1 2 3
4 5 6

4 5 8

1 4 7
2 5 8
import java.util.Scanner;

public class oj_0705 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while (input.hasNext()) {
            int[] a1=new int[6];int[] a2=new int[4];
            for (int i = 0; i < 6; i++) {
                a1[i] = input.nextInt();
            }
            for (int i = 0; i < 4; i++) {
                a2[i] = input.nextInt();
            }
            int[] a3=sub(a1,a2);
            for (int i=0;i<a3.length;i++){
                if (i==2){
                    System.out.printf("%d",a3[i]);
                    System.out.println();
                }else System.out.printf("%d ",a3[i]);
            }
        }
    }
    public static int[] sub(int[] list1,int[] list2){
        int c=0;
        for (int i=0;i<6;i++){
            for (int j=0;j<4;j++){
                if(list1[i]==list2[j]){
                    list1[i]=0;
                }
            }
        }
        for (int i=0;i<6;i++){
            if(list1[i]!=0){
                c++;
            }
        }
        int[] list3=new int[c];
        int j=0;
        for (int i=0;i<6;i++){
            if(list1[i]!=0)
            list3[j++]=list1[i];
        }
        return list3;
    }
}

0706

又是一道数组统计次数的题目,但这次有点点不用,输出的顺序按次数照从大到小排列,当出现次数相同时,较大值优先输出

输入要求:
多组数据,每一组数据有n(1<= n <=100)个空格隔开的整数Ni(0<=Ni<=100),当输入0时,表示该组数据输入结束。

输出要求:
按照题目要求输出数字出现次数

数据示例1:
输入:
10 100 100 2 3 1 10 3 7 8 0
输出:
100 occurs 2 times
10 occurs 2 times
3 occurs 2 times
8 occurs 1 time
7 occurs 1 time
2 occurs 1 time
1 occurs 1 time

import java.util.Scanner;

public class oj_0706 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] a = new int[200];
        int[] b = new int[200];
        while (input.hasNext()) {
            for (int i = 0; ; i++) {
                a[i] = input.nextInt();
                if (a[i] == 0) break;
                b[a[i]]++;
            }
            int[] c=new int[200];
            int j=0;
            for (int i=0;i<200;i++){
                if (b[i]!=0){
                    c[j++]=b[i];
                }
            }
            for (int i=0;i<c.length;i++){
                for(int o=i+1;o<c.length;o++){
                    if(c[i]<c[o]){
                        int temp=c[i];
                        c[i]=c[o];
                        c[o]=temp;
                    }
                }
            }
            int o=0;
            for (int i=150;i>=0;i--){
                if (b[i] == c[o]&&o<c.length) {
                    if (b[i] == 1) {
                        System.out.printf("%d occurs %d time\n", i, b[i]);
                    } else if (b[i] > 1) {
                        System.out.printf("%d occurs %d times\n", i, b[i]);
                    }
                    o++;
                    if (c[o-1]!=c[o]) i=150;//不同时重新遍历
                }
            }
            for (int i=0;i<200;i++){
                b[i]=0;
            }
        }
    }
}
### 回答1: Java 17.07安装包是Java编程语言的一个版本,它是由Oracle公司发布的。它包含了许多新的功能,比如增加了对嵌入式设备的支持,改善了性能等。 如果你要安装Java 17.07,你需要先从官方网站下载安装包,然后运行安装程序。在安装过程中,你需要阅读许可协议,并同意安装Java。 安装完成后,你需要配置Java环境变量。这可以在计算机的系统属性中完成。如果你想在命令行中使用Java程序,你需要设置JAVA_HOME变量。在Windows系统中,你也需要将Java的路径添加到系统的Path变量中。 Java有很多用途,比如开发各种类型的应用程序、游戏、网站等。它是非常有用的,因为Java应用程序可以在许多不同的平台上运行,包括Windows,Mac,Linux等。 总之,Java 17.07Java编程语言的一个新版本,它包含许多新的功能和改进,如果你想使用它,你需要从官方网站下载安装包并运行安装程序。安装完成后,你需要配置Java环境变量才能使用它。 ### 回答2: Java 17.07Java的一个版本,主要用于开发和运行Java应用程序。为了安装Java 17.07,需要下载Java Development Kit(JDK)的安装包。在下载安装包之前,需要确认计算机的操作系统类型(32位或64位)以及版本(Windows,Mac或Linux)。 一旦确定您的计算机的操作系统,您可以从Oracle官网下载适合您系统的JDK安装包。下载完成后,运行安装程序,按照向导完成安装过程。 在安装过程中,您需要选择要将JDK安装到哪个目录下,以及是否要添加jdk到系统环境变量中。这些设置将帮助您轻松地运行Java应用程序,而无需每次手动添加路径或配置变量。 安装完成后,您可以测试您的Java环境是否正确安装。可以通过在命令行中输入“java -version”来测试,如果显示安装的Java版本信息,则说明安装成功。 总之,安装Java 17.07需要下载对应操作系统和版本的JDK安装包,然后运行安装程序并按照向导完成安装。安装完成后,应该进行测试以确认安装是否成功。 ### 回答3: Java 17.07是Oracle JDK 17的一个发行版,它提供了Java编程的开发环境和运行时环境。Java 17.07安装包中包含了JavaSE Development Kit(JDK)和JavaSE Runtime Environment(JRE),可支持在Windows、Linux、macOS等多种操作系统中使用。 在安装Java 17.07之前,需要先检查操作系统的位数并下载对应的安装包。然后,按照安装向导的步骤进行安装。在安装过程中,可以选择安装的组件和安装路径等参数。 安装完成后,需要设置Java的环境变量,以便在命令行中执行Java命令。在Windows系统中,可以在系统变量中添加JAVA_HOME和Path变量。在Linux和macOS中,可以编辑.bashrc或者.profile文件,设置环境变量。 使用Java 17.07可以开发和运行Java程序,还可以使用Java虚拟机(JVM)执行已编译的Java代码。此外,还可以使用Java开发工具包(JDK)中的各种工具,如javac编译器、jar打包工具、javadoc文档生成工具等。 总的来说,Java 17.07是一个非常重要的Java发行版,它提供了强大的功能和稳定的性能,为Java开发提供了强有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值