0.数组声明方法
先声明后赋值 or 边声明边赋值
public class 数组4 {
public static void main(String[] args) {
// 数组的声明语法一:数据类型 数组变量名[] = new 数据类型[长度];
int attr[] = new int[5];
attr[0] = 10;
attr[1] = 20;
attr[2] = 50;
attr[3] = 60;
attr[4] = 100;
for (int i = 0; i < 5; i++) {
System.out.println(attr[i]);
}
}
}
public class 数组5 {
// byte char int short long double float boolean
public static void main(String[] args) {
// 数组的声明语法二:数据类型[] 数组变量名 = new 数据类型[长度];
int[] attr = new int[5];// attr是int数组类型
int a = 10;// a是int类型
attr[0] = 10;
attr[1] = 20;
attr[2] = 50;
attr[3] = 60;
attr[4] = 100;
System.out.println(a);
System.out.println(attr);
}
}
public class 数组6 {
// byte char int short long double float boolean
public static void main(String[] args) {
// 数组的声明语法三:数据类型[] 数组变量名 = {数据1,数据2,数据3...};
int[] attr = { 10, -2, 30, 14, 5, 1, 2, 100, 50, 300, 80, 12 };
// 计算某一指定数组的长度:数组名.length,返回的结果是一个int类型的数据
int length = attr.length;
System.out.println("length=" + length);
for (int i = 0; i < attr.length; i++) {
System.out.print(attr[i] + "\t");
}
}
}
1.会员消费记录
import java.util.Arrays;
import java.util.Scanner;
public class ShuZu {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入会员本月的消费记录");
float[] money = new float[5];
float sum = 0;
//输入金额存入数组
for(int i=0 ; i<5 ; i++) {
System.out.print("请输入第"+(i+1)+"笔购物金额:");
money[i]= in.nextFloat();
sum += money[i];
}
//复制原数组(未经排序的数组)
float[] sourcemoney = new float[5];
for(int i=0;i<5;i++) {
sourcemoney[i]=money[i];
}
//对数组进行排序
Arrays.sort(money);
//输出两组数组内数据
System.out.println("\n序号\t\t金额(元)");
for(int i=0 ; i<5 ; i++) {
System.out.println((i+1)+"\t\t"+money[i]);
}
System.out.println("总金额\t\t"+sum);
System.out.println("\n序号\t\t金额(元)");
for(int i=0 ; i<5 ; i++) {
System.out.println((i+1)+"\t\t"+sourcemoney[i]);
}
System.out.println("总金额\t\t"+sum);
}
}
控制台显示:
请输入会员本月的消费记录
请输入第1笔购物金额:199.9
请输入第2笔购物金额:250.5
请输入第3笔购物金额:300
请输入第4笔购物金额:499
请输入第5笔购物金额:100
序号 金额(元)
1 100.0
2 199.9
3 250.5
4 300.0
5 499.0
总金额 1349.4
序号 金额(元)
1 199.9
2 250.5
3 300.0
4 499.0
5 100.0
总金额 1349.4
2.统计考试平均分、最高分
import java.util.Arrays;
import java.util.Scanner;
public class ShuZu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入5位学员的成绩:");
float[] scores = new float[5];// scores[0]、scores[1]....scores[4]
for (int i = 0; i < 5; i++) {
scores[i] = input.nextFloat();
}
Arrays.sort(scores);// 由小到大
System.out.println(scores[scores.length - 1]);
}
}
3.
4.字符逆向排序输出
5.查找数组中指定数据
逐个比较
import java.util.Scanner;
public class 法一 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] attr = { 8, 4, 2, 1, 23, 344, 12 };
System.out.print("请输入您要查找的数据:");
int num = input.nextInt();
boolean flag = false;// 初步定为不包含
for (int i = 0; i < attr.length; i++) {
if (num == attr[i]) {
flag = true;
break;
}
}
if (flag == true) {
System.out.println("包含");
} else {
System.out.println("不包含");
}
}
}
import java.util.Arrays;
import java.util.Scanner;
public class 法二 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] attr = { 8, 4, 2, 1, 23, 344, 12 };
System.out.print("请输入您要查找的数据:");
int num = input.nextInt();
Arrays.sort(attr);// 必须先对数组排序!!{1,2,4,8,12,23,344}
int flag = Arrays.binarySearch(attr, num);// 判断num在attr这个数组中是否存在
// System.out.println("flag=" + flag);
String result = (flag >= 0) ? "包含" : "不包含";
System.out.println(result);
}
}