上一章:java基础 关于多重循环的练习(九九乘法表、菱形、添加成绩等)
能够录入指定数量的学生成绩,
计算最终的平均值和及格率
中途录入数据错误:如:负数,则停止录入并提示用户数据错误,之后重新开始录入
import java.util.Scanner;
/*
实现一个功能,:
能够录入指定数量的学生成绩,
计算最终的平均值和及格率
中途录入数据错误:如:负数,则停止录入并提示用户数据错误,之后重新开始录入
*/
public class ImplementationFunction01 {
public static void main(String[] args) {
//请输入几个学生
boolean flag =true;
while (flag) {
System.out.println("请输入几个学生:");
Scanner input = new Scanner(System.in);
int students = input.nextInt();
int core[] = new int[students];
int sum=0;
int pass =0;
for (int i = 0; i < core.length; i++) {
System.out.println("请开始输入学生成绩:");
core[i] =input.nextInt();
//负数时
if (core[i] >60) {
pass++;
//中途录入数据错误:如:负数,则停止录入并提示用户数据错误
}else if (core[i]<0) {
System.out.println("录入成绩不能为负数:");
flag=false;
break;
}
//总成绩
sum+=core[i];
}
//计算最终的平均值和及格率
if (flag){
double avg=(double) sum/(double) students;
System.out.println("平均成绩为:" +avg );
double passRate =(double) pass/(double) students*100;
System.out.println("及格率为:"+passRate+"%");
break;
}else
//之后重新开始录入
System.out.println("输入数据错误,请重新开始输入:");
}
}
}
能够录入指定数量的数据,
录入完成侯,随机输入一个检测数字,检测其是否在之前定义的数组中
/*
实现一个功能:
能够录入指定数量的数据,
录入完成侯,随机输入一个检测数字,检测其是否在之前定义的数组中
*/
public class ImplementationFunction02 {
public static void main(String[] args) {
//能够录入指定数量的数据,
System.out.println("请输入你的指定数量:");
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int arr[] = new int[number];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入你的数据:");
arr[i] = input.nextInt();
}
//随机输入一个检测数字,检测其是否在之前定义的数组中
System.out.println("请输入你要检测数字:");
int testing = input.nextInt();
boolean flag =true;
while (flag) {
for (int i = 0; i < arr.length; i++) {
if (testing == arr[i]) {
System.out.println("找到了" + i);
flag =false;
}
}
if (flag){
System.out.println("没有找到!");
break;
}
}
}
}
能够录入指定数量的数据
录入完成侯,将数组做排序,升序或者降序都可以
随机输入一个数字,将其按照顺序插入到数组中,并使最终的数组保持降序或者升序
import java.util.Arrays;
import java.util.Scanner;
/*
实现一个功能:
能够录入指定数量的数据
录入完成侯,将数组做排序,升序或者降序都可以
随机输入一个数字,将其按照顺序插入到数组中,并使最终的数组保持降序或者升序
*/
public class ImplementationFunction03 {
public static void main(String[] args) {
//能够录入指定数量的数据
System.out.println("请输入你的指定数量:");
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int arr[] = new int[number];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入你的数据:");
arr[i] = input.nextInt();
}
//添加插入数组
System.out.println("请输入你添加的随机数:");
int number1 = input.nextInt();
int arr1 [] =new int[arr.length+1];
// 遍历赋值
for(int i =0;i<arr.length;i++){
arr1[i]=arr[i];
}
//地址指向
arr =arr1;
arr[arr.length-1]=number1;
//冒泡排序,录入完成侯,将数组做排序,升序或者降序都可以
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(arr));
}
}
能够录入指定数量的数据
取出数组中的最大值和最小值
计算数组元素的和
/*
实现一个功能:
能够录入指定数量的数据
取出数组中的最大值和最小值
计算数组元素的和
*/
import java.util.Scanner;
public class ImplementationFunction04 {
public static void main(String[] args) {
System.out.println("请输入你的指定数量:");
Scanner input = new Scanner(System.in);
int number = input.nextInt();
int arr[] = new int[number];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入你的数据:");
arr[i] = input.nextInt();
}
int maxValue =arr[0];
for (int i =1;i<arr.length;i++){
if (maxValue < arr[i]){
maxValue = arr[i];
}
}
System.out.println("最大值为:" +maxValue);
//求数组元素的最小值
int minValue =arr[0];
for (int i =1;i<arr.length;i++){
if (minValue > arr[i]){
minValue = arr[i];
}
}
System.out.println("最小值为:" +minValue);
//求数组元素的总和
int sum =0;
for (int i=0;i<arr.length;i++){
sum+=arr[i];
}
System.out.println("总和为:"+sum);
}
}
import java.util.Arrays;
public class YanghuiTriangle {
public static void main(String[] args) {
//1.声明并初始化二维数组
int [] [] yangHui =new int[10][];
//2.给数组的元素赋值
for (int i=0;i<10;i++) {
yangHui[i] = new int[i +1];
//2.1给末首元素赋值
yangHui[i][0] =yangHui[i][i]=1;
//2.2给每行的非末首元素赋值
if (i>1){
for (int j =1;j<yangHui[i].length-1;j++){
yangHui[i][j] =yangHui[i-1][j-1] +yangHui[i-1][j];
}
}
}
System.out.println(Arrays.toString(yangHui));
//3.变量二维数组
for (int i=0;i<yangHui.length;i++){
for (int j=0;j<yangHui[i].length;j++){
System.out.print(yangHui[i][j]+" ");
}
System.out.println();
}
}
}
/*
随机数 :求数组中的随机俩位数的 最大值、最小值、平均值、总和
*/
public class RandomNumber {
public static void main(String[] args) {
int arr[] = new int[10];
for (int i =0;i<arr.length;i++) {
arr[i] = (int) (Math.random() * 90 + 10);
}
for (int i =0;i<arr.length;i++) {
System.out.print(arr[i]+" " );
}
System.out.println();
//求数组元素的最大值
int maxValue =arr[0];
for (int i =1;i<arr.length;i++){
if (maxValue < arr[i]){
maxValue = arr[i];
}
}
System.out.println("最大值为:" +maxValue);
//求数组元素的最小值
int minValue =arr[0];
for (int i =1;i<arr.length;i++){
if (minValue > arr[i]){
minValue = arr[i];
}
}
System.out.println("最小值为:" +minValue);
//求数组元素的总和
int sum = 0;
for (int i =1;i<arr.length;i++){
sum+=arr[i];
}
System.out.println("总和为:"+sum);
//求数组元素的平均是
double avg = sum/arr.length;
System.out.println("平均数为:"+avg);
}
}
public class BubbleSort {
public static void main(String[] args) {
int arr[] = new int[]{
21,57,64,21,84,0,-46,-57};
//length-1是因为 循环执行比数组长少1
for (int i =0;i<arr.length-1;i++){
//多减个i是因为:为了保证索引不用每次都到最后
for (int j=0;j<arr.length-1-i;j++){
if (arr[j] >arr[j +1]){
int temp =arr[j];
arr[j] =arr[j+1];
arr[j+1] =temp;
}
}
}
for (int i =0;i<arr.length;i++){
System.out.print(arr[i] + " ");
}
}
}
数据类型[ ] 数组名 = new 数据类型[大小] ;