数据类型、变量、控制结构及数组综合实验
一、实验目的
综合运用所学数据类型、常量、变量、运算符、控制结构及数组等知识,以达到以下要求:
- 掌握数据类型变量、常量的声明和初始化
- 能够灵活的使用流程控制解决问题。
- 能够熟练的完成数组的的定义与初始化、数组的遍历和排序算法。
二、实验类型及课时
验证/设计/综合:综合性试验;课时:2。
三、实验环境
装有JAVA语言工具软件 (Eclipse或Eclipse)的微机若干
四、实验内容
1、 通过多项式的分析,利用流程控制结构及嵌套,实现下面的求和。
在键盘上输入n , 编程计算,:
sum=
2、 通过分析平面图形,使用嵌套循环,正确输出以下内容:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
3、请使用数组存储该数列:8,4,2,1,23,344,12,并结合数组的遍历、以及Arrays类的sort()方法和binarySearch()方法完成下面的要求:
1)循环输出数列的值
2)求数列中所有数值的和
3)猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数。
4、练习数组的排序算法:
产生0~100的8个随机整数,并利用冒泡排序法将其升序排序后输出(冒泡排序算法:每次进行相邻两数的比较,若次序不对,则交换两数的次序)。
package array_3;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class for_arrry {
public static void main(String[] args) {
Scanner scanf = new Scanner(System.in);
int n = scanf.nextInt();
int sum=0;
for (int i = n; i >0; i–) {
double num1 = Math.pow(-1, i- 1);
for (int j=0; j<=n;j++){
double num2 = 1;
num2*=1.0/j;
sum+= num1*num2;
}
}
System.out.print(“和为”+sum);
}
public static void question_2(){
int row = 1;
for (int i = 1;i<=5;i++){
int start = row;
for (int j=i;j<=5;j++){
System.out.print(row+"\t");
row+=(j+1);
}
row = start+i;
System.out.println();
}
}
public static void question_3(){
int [] a= {8,4,2,1,23,344,12};
for (int num : a) {
System.out.println("成绩为" + num);
}
int sum=0;
for (int j : a) {
sum += j;
}
System.out.print("和为"+sum);
Scanner scanf = new Scanner(System.in);
int num_1 = scanf.nextInt();
int num2=1;
for (int i=0;i<=a.length;i++){
if(num_1==a[i]){
num2=0;
break;
}
}
if (num2==1){
System.out.println("该数不在数组中");
}else {
System.out.println("该数在数组中");
}
}
public static void question_4(){
int [] a= new int[8];
for (int i=0;i<8;i++){
double random_num= Math.random();
random_num*=100;
a[i]= (int) random_num;
}
for (int i : a )
System.out.println(i);
for (int i = a.length-1; i>0; i--){
int temp;
if (a[i]<a[i-1]){
temp = a[i-1];
a[i-1]=a[i];
a[i]=temp;
}
}
System.out.println("输出(冒泡排序)结果为");
for (int i :a){
System.out.println(i);
}
}
}
五、实验报告要求
1. 整理实验结果。
2. 小结实验心得体会。