arr

异常

让人想犯罪 __ 提交于 2020-03-07 07:03:18
异常 概念 异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。Java处 理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行. 异常体系 异常机制其实是帮助我们 找到 程序中的问题,异常的根类是 java.lang.Throwable ,其下有两个子类:java.lang.Error与java.lang.Exception 平常所说的异常指java.lang.Exception Throwable体系: Error :严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。 Exception :表示异常,异常产生后程序员可以通过代码的方式纠正,使程序继续运行,是必须要处理的。好 比感冒、阑尾炎 Throwable中的常用方法 : public void printStackTrace(): 打印异常的详细信息。 包括了异常的类型,异常的原因,还包括异常出现的位置,在开发和调试阶段,都得使用printStackTrace public String getMessage():获取发生异常的原因 提示给用户的时候,就提示错误原因 public String toString()

JavaScript里的数组Array使用方法总结,超全的o

試著忘記壹切 提交于 2020-03-07 03:26:51
一直以来都想来总结一下js的数组使用方法,因为有时候时间一长有的方法就记不太清,突然要用的时候还要去查,这里做下总结,自己巩固一下同时也方便以后有缘人一起来看 😁 首先我们先来看一下谷歌浏览器里Array内置的方法有多少,如下↓ 真是不看不知道,一看吓一跳,在我印象里数组的使用方法加上ES6新语法最多也就十几个吧 这里我数了一下从concat到valueOf总共 37 个(你敢信,无知啊),下面的“__”开头的就暂时不说了 ----------------这里我们先来说一下最常用的几个,然后再一个一个解读剩下的---------------- 1.Array.push() -+-向数组的末尾添加一个或更多元素,并返回新的长度。 let arr = [1,2,3]; console.log(arr.push(6)); // 4 console.log(arr)      // [1, 2, 3, 6] 2.Array.pop() -+-删除数组的最后一个元素,并返回删除的元素。 let arr = [1,2,3]; console.log(arr.pop()); // 3 console.log(arr)    // [1, 2] 3.Array. unshift() -+-向数组的开头添加一个或更多元素,并返回新的长度。 let arr = [1,2,3]; console.log

js 排序:sort()方法、冒泡排序、二分法排序。

梦想的初衷 提交于 2020-03-06 21:43:00
js中的排序,这里介绍三种,sort()方法、冒泡排序、二分法排序。 1、sort方法 写法: 数组.sort(); 返回排好序的数组,如果数组里是数字,则由小到大,如果是字符串,就按照第一个字符的字符编码大小排序。 写法2: 数组.sort(function(a,b){ return a-b }); 表示从大到小,(如果写 retrun b-a 则由大到小排序); 不详细解释了。 2、冒泡排序。 原理是,直接将原理可能不好懂,我们还是按照下面的方法去讲吧,这样容易懂些。 //冒泡排序function quickSort(arr){ for(var i=0; i<arr.length-1; i++){ console.log(i); for(var j=0; j<arr.length-i-1; j++){ if(arr[j] > arr[j+1]){ var oldVal = arr[j]; arr[j] = arr[j+1]; arr[j+1] = oldVal; } } } } 我们假设要排序的数组是arr = [10, 8, 7, 6]; 原理: 这里arr长为3,外层循环三次,当外层for循环第一次循环的时候,即i=0的时候,进入里层循环,这时候将arr循环3次(4-0-1 = 3),即将arr的第一个数挨个于后面三个数比较,如果它大于后面的某个数,就与其交换位置

查找算法之二分查找

本秂侑毒 提交于 2020-03-06 09:01:57
查找算法 线性查找算法 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。 思路:如果查找到全部符合条件的值。[思路分析.] 全部代码 package com.atguigu.search; public class SeqSearch { public static void main(String[] args) { int arr[] = { 1, 9, 11, -1, 34, 89 };// 没有顺序的数组 int index = seqSearch(arr, -11); if(index == -1) { System.out.println("没有找到到"); } else { System.out.println("找到,下标为=" + index); } } /** * 这里我们实现的线性查找是找到一个满足条件的值,就返回 * @param arr * @param value * @return */ public static int seqSearch(int[] arr, int value) { // 线性查找是逐一比对,发现有相同值,就返回下标 for (int i = 0; i < arr.length; i++) { if(arr[i] ==

python实现克莱姆法则

拟墨画扇 提交于 2020-03-05 20:25:55
文章目录 首先完成python模拟行列式运算 公式分析 模块分析与实现 环境 模块导入 全排列 逆序数 方阵计算 克莱姆法则 *Cramer's rule* 注:本文对numpy对象使用append方法时均使用了深拷贝deepcopy,因为python中对象的赋值是按引用传递的,如果不使用深拷贝在append时会改变原有对象从而覆盖原先的值 首先完成python模拟行列式运算 ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ∣ = ∑ ( − 1 ) t a 1 p 1 a 2 p 2 ⋯ a n p n \begin{vmatrix} {a_{11}}&{a_{12}}&{\cdots}&{a_1n}\\ {a_{21}}&{a_{22}}&{\cdots}&{a_2n}\\ {\vdots}&{\vdots}&{\ddots}&{\vdots}\\ {a_{n1}}&{a_{n2}}&{\cdots}&{a_{nn}}\\ \end{vmatrix}= \sum{(-1)^{t}}{a_{1p_{1}}a_{2p_{2}}}{\cdots}{a_{np_{n}}} ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ​ a 1 1 ​ a 2 1 ​ ⋮ a n 1 ​ ​ a 1 2 ​ a 2 2 ​ ⋮

JavaScript pop() 方法使用【转】

安稳与你 提交于 2020-03-05 17:36:31
定义和用法 pop() 方法用于删除并返回数组的最后一个元素。 语法 arrayObject.pop() 返回值 arrayObject 的最后一个元素。 说明 pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。 实例 在本例中,我们将创建一个数组,然后删除数组的最后一个元素。请注意,这也会改变数组的长度: <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document.write(arr) document.write("<br />") document.write(arr.pop()) document.write("<br />") document.write(arr) </script> 输出: George,John,Thomas Thomas George,John 文章来自: https://www.w3school.com.cn/jsref/jsref_pop.asp 来源: https://www.cnblogs.com/KillBugMe/p/12421206

数组排序的方法

元气小坏坏 提交于 2020-03-05 12:54:36
sort()对数组排序,不开辟新的内存,对原有数组元素进行调换 // 1、简单数组简单排序 .sort() // var arrSimple = [1,8,7,6,11] // function order(value1,value2){ // return value1-value2; // } // console.log( arrSimple.sort(order)) // 冒泡排序:两两比较,以升为例,一直比到最后一项 // splice() // 参数1:index:正数 删除的位置,负数从结尾开始算 // 参数2:必须,要删除的数量,设置为0不会删除项目 // 参数3:可选,向数组中添加新的项目 // var arr = [1,8,9,2,7,6] // function bubblesort(arr){ // for(var i=arr.length-1;i>0;i--){ // for(var j=0;j<i;j++){ // if(arr[j]>arr[j+1]){ // var temp = arr[j] // arr.splice(j,1,arr[j+1]) // arr.splice(j+1,1,temp) // } // } // } // return arr; // } // 选择排序:将当前未确定的模块中的max和min取出来插到最前面或者后面 //

python之numpy

江枫思渺然 提交于 2020-03-05 12:47:27
numpy是一个多维的数组对象,类似python的列表,但是数组对象的每个元素之间由空格隔开。 一、数组的创建 1.通过numpy的array(参数),参数可以是列表、元组、数组、生成器等 由arr2和arr3看出,对于多维数组来说,如果最里层的数据类型不一致,array()会将其转化为一致 由arr2和arr4看出,对于最里层的数据个数不一致,array()的结果只是一个一维数组。 import numpy as np arr1 = np.array(range(10)) arr2 = np.array([[1,2,3],[4,5,6]]) arr3 = np.array([[1,2,3],['a','b','c']]) arr4 = np.array([[1,2,3],['a','b']]) print(arr1) print(arr2) print(arr3) print(arr4) array()创建数组 2.通过numpy的arange(start,stop,step=1,dtype)创建一维数组 start表示起始值,stop表示终止值(包含start但不包含stop,即前闭后开区间),step表示步长默认为1,dtype表示元素类型,其中stop和step可省略。 arr5 = np.arange(5) #[0 1 2 3 4] arr6 = np.arange(1

数据分析之matplotlib.pyplot模块

风格不统一 提交于 2020-03-05 11:01:45
  首先都得导模块。 import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import Series,DataFrame   一、绘制单线图   1,直线图 x=[1,2,3,4,5] y=[2,4,6,8,10] plt.plot(x,y)   2,抛物线 x = np.arange(-np.pi,np.pi,0.2) y = x**2 plt.plot(x,y)   3,正弦图 x = np.arange(-np.pi,np.pi,0.2) y = np.cos(x) plt.plot(x,y)   这里得到图形取决于x跟y的关系   二、绘制多个曲线的图   1,连续调用多次plot函数 plt.plot(x,y) plt.plot(x+3,y+3)   2,也可以在一个plot函数中传入多对x,y值 plt.plot(x,y,x+10,y+10)   3,将多个曲线绘制在一个table区域中:对象形式创建表图 a=plt.subplot(row,col,loc)创建曲线图对象 a.plot(x,y) ax1 = plt.subplot(2,2,1) ax1.plot(x,y) ax1.grid() ax2 = plt.subplot(2,2,2) ax2

利用Python进行数据分析| 4 NumPy基础:数组和矢量计算

蹲街弑〆低调 提交于 2020-03-04 15:24:49
ndarray:一种多维数组对象,是一个快速而灵活的大数据集容器,可以利用其对整块数据执行运算。 广播(broadcasting):不同大小的数组之间的运算 基本的索引和切片:当你将⼀个标量值赋值给⼀个切⽚时(如arr[5:8]=12),该值会⾃动传播(也就说后⾯将会讲到的“⼴播”)到整个选区。跟列表最重要的区别在于,数组切⽚是原始数组的视图。这意味着数据 不会被复制 ,视图上的任何修改都会直接反映到源数组上。 二维数组的表示方法: 通过布尔型设置数组 花式索引(Fancy indexing):利用整数数组进行索引 #以特定顺序选取⾏⼦集,只需传⼊⼀个⽤于指定顺序的整数列表或ndarray即可 arr=np.empty((8,4)) for i in range(8): arr[i]=i arr arr[[4,3,0,6]] arr[[0,1],[3,2]] #花式索引跟切⽚不⼀样,它总是将数据复制到新数组中。 数组转置和轴对换 #数组转置 arr=np.arange(15).reshape((3,5)) print(arr) print(arr.T) #计算矩阵内积 arr=np.random.randn(6,3) np.dot(arr.T,arr) 对于⾼维数组,transpose需要得到⼀个由轴编号组成的元组才能对这些轴进⾏转置: arr = np.arange(16)