关于Arrays类的使用,输入语句scanner的使用,折半查找,素数,给对象数组挨个初始化
Arrays类(import java.util.Arrays;):
1.排序
public static void sort(double a[])可以把参数 a 指定的 double 类型数组按升序排序;
public static void sort(double a[], int start , int end)可以把参数 a 指定的 double 类型数组中从位置 start 到 end 位置的值按升序排序。
2.赋值等
https://blog.youkuaiyun.com/liu_yanzhao/article/details/70847050
输入语句Scanner的使用(import java.util.Scanner;):
1.Scanner input=new Scanner(System.in);//定义一个对象input
int num=input.next();//输入一个正整数并存在num中
2.next和nextline的区别:
next()从遇到第一个有效字符(非空格、换行符)开始扫描,遇到第一个分隔符或结束符(空格’ ‘或者换行符 ‘\n’)时结束;
nextLine()则是扫描剩下的所有字符串知道遇到回车为止。
折半查找
前提:数组必须是有序的
int start=0,end=10,mid=(start+end)/2;//数组
while(start<=end) {
if(array1[mid]==a)
{
System.out.println("结果在此数组中,所在位置是第"+(mid+1)+"个");
return;
}
else if(array1[mid]<a)
{
start=mid+1;
mid=(start+end)/2;
}
else
{
end=mid-1;
mid=(start+end)/2;
}
}
素数
质数(prime number)又称素数,有无限个。
一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。
根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。
给对象数组挨个初始化
student [] stu=new student[10];//定义一个学生数组
//下面输入学生的信息,输入10个人的,用一个循环
for(int i=0;i<10;i++) {
String name;
int age,year,month,day;
double grade;
Scanner scan = new Scanner(System.in);
// 从键盘接收数据
// next方式接收字符串
name=scan.next();
age=scan.nextInt();
year=scan.nextInt();
month=scan.nextInt();
day=scan.nextInt();
grade=scan.nextDouble();
student a=new student(name,age,year,month,day,grade);//定义一个对象,来给各个对象数组的元素赋值.
stu[i]=a;//不能用scan.close()
}