精华内容
下载资源
问答
  • 2021-03-10 02:18:00

    我是新手,刚上大一,请大家帮忙。能不能帮我看看这里面有什么问题(我知道问题很多,重要的说一下)importjava.util.Scanner;publicclassMatrix{double[][]value=null;Matrix(){valu...

    我是新手,刚上大一,请大家帮忙。

    能不能帮我看看这里面有什么问题(我知道问题很多,重要的说一下)

    import java.util.Scanner;

    public class Matrix {

    double[][] value = null ;

    Matrix(){

    value = turn(input());

    }

    char[][] input(){

    Scanner scan = new Scanner(System.in);

    char[][] a = new char[100][100];

    char[] chars;

    for(int i=0;;i++)

    {

    String str0 = scan.nextLine();

    String str1 = str0.trim();

    if(str1.equalsIgnoreCase("end"))

    break;

    chars = str1.toCharArray();

    a[i] = new char[chars.length];

    a[i] = chars;

    }

    return a;

    }

    double[][] turn(char[][] a){

    double[][] b = new double[a.length][a[1].length];

    for(int i = 0 ; i<=a.length ;i++)

    {

    for(int j = 0; j<=a[1].length ; j++)

    {

    b[i][j] = Double.parseDouble(String.valueOf(a[i][j]));

    }

    }

    return b;

    }

    }

    class MatrixTest{

    public static void main(String[] args){

    Matrix mat = new Matrix();

    /*for(double[] x : mat.value){

    System.out.print(x);

    }*/

    System.out.println(mat.value[1][1]);

    }

    }

    展开

    更多相关内容
  • java数组排序函数

    千次阅读 2020-06-08 16:20:14
    C语言有qsort()函数,C++有sort()函数java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则。Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。

    1.对基本数据类型的数组的排序

    (1)Arrays类中的sort()使用的是“经过调优的快速排序法”;

    (2)比如int[],double[],char[]等基数据类型的数组,Arrays类之只是提供了默认的升序排列,没有提供相应的降序排列方法。

    (3)要对基础类型的数组进行降序排序,需要将这些数组转化为对应的封装类数组,如Integer[],Double[],Character[]等,对这些类数组进行排序。(其实还不如先进行升序排序,自己在转为降序)。

    用默认的升序对数组排序

    函数原型

    • static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序。
    • static void sort(int[] a, int fromIndex, int toIndex) 对指定 int 型数组的指定范围按数字升序进行排序。

    代码实例

    import java.util.Arrays;
    public class ArraysSort_11 {
        public static void main(String args[])
        {
            int[] a={1,4,-1,5,0};
            Arrays.sort(a);
            //数组a[]的内容变为{-1,0,1,4,5}
            for(int i=0;i<a.length;i++)
                System.out.print(a[i]+"  ");
        }
    }
    

    2.对复合数据类型的数据的排序

    函数原型:
    (1)public static void sort(T[] a,Comparator c) 根据指定比较器产生的顺序对指定对象数组进行排序。

    (2)public static void sort(T[] a,int fromIndex,int toIndex,Comparator c) 根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。

    说明:这个两个排序算法是“经过调优的合并排序”算法。
    代码实例

    package com.shuzu;
    
    import java.util.Arrays;
    import java.util.Comparator;
    
    public class fuhepaixu {
    	Point[] arr;
    	fuhepaixu(){
    		arr =new Point[4];
    		for(int i=0;i<4;i++) {
    			arr[i]=new Point();
    		}
    	}
    	public static void main(String args[]) {
    		fuhepaixu f =new fuhepaixu();
    		f.arr[0].x=1;
    		f.arr[1].x=2;
    		f.arr[2].x=0;
    		f.arr[3].x=4;
    		f.arr[0].y=2;	
    		f.arr[1].y=3;
    		f.arr[2].y=1;
    		f.arr[3].y=0;
    		Arrays.sort(f.arr,new myComparator());
    		for(int j=0;j<4;j++) {
    			System.out.println("("+f.arr[j].x+","+f.arr[j].y+")");
    		}
    	}
    
    }
    
    class Point{
    	int x;
    	int y;
    }
    
    class myComparator implements Comparator{
    	public int compare(Object arg0,Object arg1) {
    		Point t1 =(Point)arg0;
    		Point t2 =(Point)arg1;
    		if(t1.x!=t2.x) {
    			return t1.x>t2.x?1:-1;
    		}
    		else {
    			return t1.y>t2.y?1:-1;
    		}
    	}
    }
    

    Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足要求时,可写一个比较器来完成两个对象之间大小的比较。Comparator体现了一种策略模式(strategy design pattern),就是不改变对象自身,而用一个策略对象(strategy object)来改变它的行为。

    PS:关于?:公式
    a>b?A:B
    意思是如果a>b则这个式子的值为A;
    否则值为B

    展开全文
  • Java方法(函数)及数组

    2021-03-05 20:05:56
    方法(函数)1、方法的概念及作用概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体;作用:完成功能,数据的处理!...

    方法(函数)

    1、方法的概念及作用

    概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体;

    作用:完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的。

    2、基本语法

    返回值类型 方法名字( 形式参数 ){

    }

    返回值:  必须有

    方法名字:必须有

    小括号:  必须有

    形式参数:根据需要设定,也可以没有形式参数

    大括号:  必须有:   但是功能语句可以任意写

    3、设计方法及方法的使用

    (1)设计步骤:

    方法语法中,返回值  方法名字,参数列表(根据需要)

    方法内部完成功能设计(比如求和,阶乘,打印数组等等功能的设计)

    (2)使用方法的三种方式

    方法有static修饰:类名.方法名+参数列表[个数,顺序,类型必须一致]

    方法没有static修饰:对象名.方法名+参数列表[个数,顺序,类型必须一致]

    方法在同一个类中:方法名+参数列表[个数,顺序,类型必须一致]

    参数列表:   传入对应类型的数据

    (3)注意事项:

    对于方法的使用者而言,无需关心方法内部的实现

    同一个类中:静态方法不能调用非静态的方法

    同一个类中:非静态方法可以调用静态方法[ 自己读 测试]

    4、签名和重载

    (1)签名

    概念:方法名字+参数列表[类型,个数,顺序:必须一致]

    (2)重载

    概念:在同一个类中,方法名字相同,参数列表不同

    5、方法return

    如果一个方法的返回类型不是void,那么要求[不管方法里面做了什么事情]都必须返回一个和返回值类型匹配的值

    对于结构体语句中写返回值:编译检查语法,只看结构不看值:结构体中写了返回值不一定执行的到,编译语法会不通过!

    注意事项:有返回值方法,一定要有对应返回语句

    数组

    (1)数组的概念和本质

    概念:数组可以理解成在计算机中的多个连续的存储空间,里面可以按顺序存放多个类型相   同的数据。

    本质:数组也是一个[数据类型]

    (2)基本语法和使用

    ①基本语法

    动态创建之先声明后赋值

    数据类型 [] 数组变量名;

    int[] arr;

    数组变量名 = new 数据类型[数组长度];

    arr = new int[10];

    动态创建之声明的同时赋值

    数据类型[] 数组名 = new 数据类型[数组长度];

    int[] arr = new int[10];

    静态创建之复杂写法

    声明的同时赋值

    数据类型  []  数组变量名 = new 数据类型[] {多个以英文逗号分隔的数据};

    int[] arr = new int[]{1,2,3,4,5,6,7}

    先声明后赋值

    数据类型  []  数组变量名;

    数组变量名 = new 数据类型[] {多个以英文逗号分隔的数据};

    int[] arr;

    arr = new int[]{1,2,3,4,5,6,7}

    静态创建简写方式

    声明的同时赋值

    数据类型[]  数组变量名  = {多个以英文逗号分隔的数据};//最常用的一种写法

    int[] arr = {1,2,3,4,5,6,7,8,9}

    先声明后赋值[编译器不允许,错误写法]

    数据类型[]  数组变量名;

    数组变量名  = {多个以英文逗号分隔的数据};

    ②如何使用

    存值

    数组名[索引位置] = 值;

    取值

    数组名[索引位置]

    数组遍历

    (3)JVM堆栈图

    堆:可以理解为凡是new 出来的东西都放在这里面,堆内存可以被虚拟机动态的分配内存大小,无需事先告诉编译器的数据的大小、生命周期等相关信息

    栈:主要存放一些变量容器名 (例如局部变量名,还可以存放局部变量 基本类型 数据值),栈内存被要求存放在其中的数据的大小、生命周期必须是已经确定的

    图例

    e702b4fc7b472008ad2d7ce2f1dd0a11.png

    (4)数组的特点

    数据类型限定了数组可以存放的数据类型

    一个数组可以存储多个元素

    一旦数组对象被创建好,那么其长度就固定不变了

    动态创建好数组之后,会自动分配默认值,和数组中的元素类型有关(类似之前成员变量的默认值)

    (5)数组常见问题

    数组索引越界【索引有哪些,索引的范围?(所有数组都有一个length属性)】

    空指针错误

    如果有返回值,不知道return写在哪里

    (6)打印数组

    设计一个方法,打印传入int数组中的所有元素,打印的格式:[11,22,44,55]

    定义一个方法print,方法参数修改为int 数组(变量名为arr)

    方法里 使用 for循环  遍历数组,使用System.out.println打印

    main方法里创建一个数组,然后调用方法print方法

    打印结果换行了,但是我们要求打印一行,所以使用System.out.print

    但是我们需要打印用 逗号 分割,所以System.out.print(arr[i]+”,”)

    前后要求还有个 中括号,所以我们加上打印  [   和  ]

    上面方法打印多次,先把需要打印的内容拼接成一个字符串,拼接完毕之后一次性打印

    修改上面的代码

    打印的内容拼接成字符串,先定义一个字符串str

    修改用str拼接打印结果

    设计一个方法,不打印数组,而是把打印的结果返回

    返回数组的字符串表示形式: [11,22,44,55]

    返回类型修改为String

    在main 方法调用

    用一个字符串变量接收下print的返回结果

    展开全文
  • java 数组查找

    2021-10-30 16:11:37
    1、普通查找 对数组循环遍历,依次比较匹配,时查找算法中最基础,最简单的算法 int[] scores = {45, 62, 15, 78, 30}; int target = 62;... // 用要查找的目标,依次与数组中的每个元素进行比较 ...

    1、普通查找

            对数组循环遍历,依次比较匹配,时查找算法中最基础,最简单的算法

            int[] scores = {45, 62, 15, 78, 30};
            int target = 62;
            int index = -1; // 保存查找到的位置
    
            for (int i = 0; i < scores.length; i++) {
                // 用要查找的目标,依次与数组中的每个元素进行比较
                if (target == scores[i]) {
                    index = i;
                    break;
                }
            }
    
            // 打印查找结果,与循环查找分开,便于代码分析
            if (index != -1) {
                System.out.println("找到了, 当前下标位置为:" + index);
            } else {
                System.out.println("没有找到");
            }

    2、二分法查找

            与插入排序算法类似,它作用对象的前提是一个有序数组

            先设立最小值角标、最大值角标以及中间值角标。从最中间值开始比较,若比较值比查找值大,则在剩下数列的左半轴重新划分最大值、最小值以及中间值,再进行比较查找;否则在右半轴进行相关操作;若不存在该值,最后会使得min<max,退出循环

             上代码

            // 有序数组
            int[] scores = {15, 38, 47, 78, 93};
            // 保存最小值的位置
            int min = 0;
            // 保存最大值的位置
            int max = scores.length - 1;
            // 保存中间值位置,每次循环开始都需重新计算
            int mid = 0;
    
            // 要查找的数
            int target = 38;
            // 查找状态
            boolean flag = false;
    
            // 每当min和max在正常范围内,要计算出来
            while (min <= max) {
                // 每次循环前,初始化mid值
                mid = (max + min) / 2;
                // 比较目标对象和mid位置元素的大小
                if (target < scores[mid]) {
                    // 小于时,范围重新判定为mid值左边部分,重新定义max值
                    max = mid - 1;
                } else if (target > scores[mid]) {
                    // 大于时,范围重新判定为mid值右边部分,重新定义min值
                    min = mid + 1;
                } else {
                    // 找到,状态改变,退出循环
                    flag = true;
                    break;
                }
            }

            不难看出,每一次查找之后,查找区间都会缩小一半,时间复杂度 为 log(2)n ,极大的提高了程序运行效率

    展开全文
  • 数组操作Java数组如何反转输出?下面本篇文章就给大家介绍2种在java中实现数组反转的简单方法。有一定的参考价值,希望对大家有所帮助。【视频教程推荐:java教程】方法一:使用循环,交换数组中元素的位置使用循环...
  • java获取数组最大值的函数,超详细

    千次阅读 2021-06-17 13:35:27
    5、注意连接池大小(包括数据库连接池、Redis缓存连接池、线程池); 6、压测的机器上不要部署其它的服务,只跑待压测的服务,避免受其它项目影响;对于线上环境,最好一台机器上只部署一个重要的服务; 7、没有用...
  • java数组拷贝函数System.arraycopy

    千次阅读 2019-02-15 20:19:49
    数组:相同类型的数据,在内存中连续存储。 数组的声明: int [] a ; //栈中定义了int类型数组的引用 A [] aa ; //定义了A类型数组的应用 数组的初始化: int [] a = {1,2,3,4,5}; //定义时初始化 A [] a = new A[3]...
  • Java数组常用操作

    2022-04-19 18:35:00
    Java提供了相应对数组的操作的系统函数(方法),利用系统函数(方法)可以对数组进行各种操作。 1、数组长度 数组长度指的是数组大小,也就是数组包含元素的个数。如果想获得数组的长度,可以用其本身的 ...
  • java数组如何添加元素向数组里添加一个元素怎么添加,这儿总结有三种方法:1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。但有个可以改变大小的数组为ArrayList,即可以定义一个...
  • java数组

    千次阅读 2021-03-06 01:07:34
    数组的定义数组是引用数据类型三种当中的其中一种。概念:同一种类型数据的集合。其实数组就是一个容器。数组的好处:可以自动给数组中的元素从0开始标号,方便操作这些元素。格式1:元素类型[] 数组名= new元素类型...
  • Java 数组

    2021-03-14 13:16:02
    数组对于每一门编辑应语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽...本教程将为大家介绍Java数组的声明、创建和初始化,并给出其对应的代码。声明数组变量首先必须声明数组变量,才能...
  • Java方法(函数)数组

    千次阅读 2019-03-26 23:11:27
    1.概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体 1)X + Y = Z;代入不同的值,可以求到不同的结果 2)函数可以反复...
  • JAVA入门学习 —数组排序的方法

    千次阅读 2022-04-20 13:26:09
    冒泡排序(Bubble Sort) 冒泡排序的思想: 从序列的一端开始向另一端冒泡,可以从左往右冒泡,也可以从右往左冒泡,依次比较相邻的两个数的大小(比大还是比小看要求)。 import java.util.Arrays; //冒泡排序 public ...
  • Java 数组常用方法大全

    千次阅读 2021-06-05 16:11:33
    一维数组的创建方法: 方法一: 使用如下: String[] arr; arr = new String[5]; 方法二: 使用如下: int[] arr = new int[6]; 方法三: 使用如下: int[] arr={1,5,6,8,2,3,7}; 二维数组的创建方法: 方法一: ...
  • 1、指定数组大小,用循环输入数据 import java.util.Scanner; public class Main2 { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int[] arr=new int[5]; for(int i=0;i&...
  • Java 数组和List的使用

    2022-04-26 22:22:54
    Java中数据的保存离不开数组,但数组的长度是不可变的。这时候就需要列表类(List)来进行数组扩容等操作,同时列表还可以包含批量删除、修改等更方便的内容。同时ArrayList作为使用相当频繁的List类,它的扩容算法...
  • 这是由于C/C++的原生数组实质上只是一个指针而已, 不像Java中的数组还带有一个存储大小的字段. 那么, C++中就真的没法优雅的只传入数组吗?答案是否定的, 虽然C++的原生数组不算是对象, 没有将大小也封装到数组中, ...
  • js中数组常用函数

    2020-05-26 19:39:48
    1、concat() 连接两个或更多的数组。 var arr = [1,2,3,4]; var arr2 = [5,6,7,8]; var arr3 = arr.concat(arr2); console.log(arr3); // 连接之后返回的数组为:[1, 2, 3, 4, 5, 6, 7, 8] 2、join() 把数组的...
  • Vector 类实现了一个动态数组,主要用在事先不知道数组大小,或者只是需要一个可以改变大小数组的情况。 构造方法 默认的向量,默认大小为 10 Vector() 创建指定大小的向量 Vector(int size) 创建指定大小的...
  • 二维数组作为函数的参数

    千次阅读 2020-03-22 21:32:57
    如果我们要编写一个函数对这个数组进行处理,我们应该怎样声明函数的形参,又怎样在调用函数时引入二维数组这个参数呢? 首先我们来看对一维数组是怎么做的 void main() { int vec[n]; fun1(vec); } 对...
  • java数组删除数组元素_如何在Java中删除数组元素

    万次阅读 多人点赞 2020-07-20 15:04:52
    java数组删除数组元素When we create an array in Java, we specify its data type and size. This is used by JVM to allocates the necessary memory for array elements. There are no specific methods to ...
  • Java中length,length(),size()区别

    千次阅读 2021-02-28 13:06:58
    length属性:用于获取数组长度。eg:int ar[] = new int{1,2,3}/*** 数组用length属性取得长度*/int lenAr = ar.length;//此处lenAr=3System.out.println("Arr length:"+...String str = "Hello World Java";/*** 字...
  • Java数组排序:Java sort()方法

    万次阅读 多人点赞 2019-07-05 23:03:19
    Java 中实现数组排序的方式很多,除了利用 Arrays 类的 sort() 方法外,还可以编写自定义方法来实现自己的排序算法。本文介绍如何使用 Arrays 类提供的 sort() 方法来对数组进行排序。 使用 java.util.Arrays 类...
  • Java数组详解

    千次阅读 多人点赞 2021-04-14 17:40:47
    在我们了解数组这个概念之前,我们先思考下面几个问题。 如果我们需要两个数据,那么直接创建两个变量即可 int a; int b; 如果需要五个数据,那么可以创建五个变量 int a; int b; int c; int d; int f; ...
  • Java数组中查找元素的方法

    千次阅读 2020-08-15 20:43:51
    Arrays类的binarySearch()方法,可以使用二分搜索法来搜索指定的数组。该方法返回要搜索元素的索引值。binarySearch()方法提供多种重载形式,用于满足各种类型数组的查找需要。 1 binarySearch(Object[], Object key...
  • Java修改数组长度

    千次阅读 2021-02-12 11:07:55
    java中没有关于修改数组长度的api,在此本人提供了修改数组长度的两个函数:arrayAddLength()和arrayReduceLength().详细见代码.[java] view plaincopyprint?import java.lang.reflect.Array;/*** Description: This ...
  • 如下所示:/*** ArraySplit.java* Copyright(C) 2014*/package ...import java.util.ArrayList;import java.util.List;/**** @author cuiran* @version 1.0.0*/public class ArraySplit {/*** @param args...
  • java数组实现队列 什么是队列? (What is a Queue?) Queue is a special type of data structure, which is designed to hold elements before processing and process elements in a FIFO (first-in-first-out) ...
  • java定义数组的方式: int a[]=new int[2]  int b[]={1,2}  int c[]=new int[]{1,2} js定义数组的方式: var a={1,2} var b=new Array() var c=new Array(3) 2.性质 java数组值存在堆中,毕竟堆的内存...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,735
精华内容 89,894
关键字:

java数组大小函数

java 订阅