手动输入数组中的数据然后对数组进行操作
/** * 写一个方法输入一个整型数组,要求打印出输入的数组所有元素之和, * 并打印出最大值和最小值。 * */ package com.basic.erwei; import java.util.Scanner; public class Input { public static void main(String[] args) { chuli(); } public static void chuli(){ int arr[]=input(); int n=0; //获取数组的有效长度 for (int i = 0; i < arr.length; i++) { //获取数组中有用的元素 if(arr[i]!=0){ n++; //System.out.print(arr[i]+" "); } } //System.out.println(); int arr2[]=new int[n]; //将一个数组中的元素赋给另一个数组 for (int i = 0; i < arr2.length; i++) { arr2[i]=arr[i]; System.out.print(arr2[i]+" "); } System.out.println(); System.out.println("输入的元素的个数 n="+n); System.out.println("输入的数的和为:"+add(arr2)); System.out.println("数组中的最大值为:"+getMax(arr2)); System.out.println("数组中的最小值为:"+getMin(arr2)); } //将输入的数存入到一个数组中 public static int[] input(){ int num,n = 0; //没有动态数组,所以在声明和定义数组的时候,可以先自定义数组的长度,然后在数组中取出满足自己条件的元素,放到一个新数组中,然后对新数组进行操作。 int arr[]=new int[100]; Scanner sc=new Scanner(System.in); System.out.println("请输入整数"); //用do{} while();循环,不管条件是否满足,do语句中的方法至少被执行一次 do{ num=sc.nextInt(); //如果不加这个判断条件,则数组中会存入-1这个值。 if(num!=-1) arr[n]=num; //记录输入数据的个数 n++; } //当输入的数据是-1的时候就结束输入的操作 while(num!=-1); return arr; } //求取数组中元素的和 public static int add(int arr[]){ int sum=0; for (int i = 0; i < arr.length; i++) { sum+=arr[i]; } return sum; } //获取数组中的最大值 public static int getMax(int arr[]){ int max=arr[0]; for (int i = 0; i < arr.length; i++) { if(max<arr[i]){ max=arr[i]; } } return max; } //获取数组中的最小值 public static int getMin(int arr[]){ int min=arr[0]; for (int i = 0; i < arr.length; i++) { if(min>arr[i]){ min=arr[i]; } } return min; } }
结果:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。