java学习第五天2020/7/10

一.

今天继续学习算法;

1.

查找,一般我们采用的是顺序查找的方法,这种方法是比较简单,但是效率却很低;一般就是从第一个数开始与想要查找的那个数进行比较,当遇到相同的时候则就成功查找了;

另一种比较高效的方法就是使用二分法;

(1)使用这种方法首先要对元素进行排序;

(2)之后要确定元素的中间位置m;

(3)然后让要查询的数于中间的数进行比较,如果中间的数比要查询的数大,那么m-1变成最大值,否则让m+1变成最小值;

在这里给出一个二分法的例子:

package main函数;
import java.util.Scanner;
public class 二分法 {
public static void main(String[]args)
{
Scanner input = new Scanner(System.in);
System.out.println("请输入9个数:");
int[] m=new int[9];
for(int i=0;i<9;i++)
{
m[i] = input.nextInt();
}
int temp;
for(int i=0;i<m.length-1;i++)
for(int j=i+1;j<m.length;j++)
{
if(m[i]>m[j])
{
temp=m[i];
m[i]=m[j];
m[j]=temp;
}
}
System.out.println("请输入要查找的数:");
int value=input.nextInt();
int cout=-1;
int low=0;
int high=m.length-1;
while(low<=high)
{
int mid=(low+high)/2;
if(m[mid]==value)
{
cout=mid;
break;
}
else if(m[mid]>value)
{
high=mid-1;
}
else
{
low=mid+1;
}
}
if(cout!=-1)
System.out.println("下标在:"+cout+"位置");
else
System.out.println("没有找到"); } }

java学习第五天2020/7/10

2.

java的一些工具类

(1)打印数组    toStrng方法打印数组

import java.util.Arrays;

int [] ary={元素.........}

System out.println(Arrays.toString(ary));

(2)sort方法排序   //升序

import java.util.Arrays;

import java.util.Arrays;

int [] ary={元素.........}

Arrays.sort(ary);

(3)二分查找

import java.util.Arrays;

binarySearch(int[] args,int key)

int [] ary={元素.........}

Arrays.sort(ary);

int index=Arrays.binarySearch(ary,查找的数);

(4)随机数

import java.util.Random;

产生随机数0-99

Random ran=new Random;

int a=ran.nextInt(100);

(5)输入

import java.util.Scanner;
Scanner input = new Scanner(System.in);
输入字符串:String name = input.next();
输入整形:int x = input.nextInt();
输入浮点型: double x = input.nextDouble();
输入字符型: char x = input.next().charAt(0);

二.今天没有遇到什么新问题

三.明天了解java 的面向对象

上一篇:3D打印软件工具


下一篇:纯CSS绘制三角形