牛骨文教育服务平台(让学习变的简单)
博文笔记

手动输入数组中的数据然后对数组进行操作

创建时间:2016-08-02 投稿人: 浏览次数:1832
/**
 * 写一个方法输入一个整型数组,要求打印出输入的数组所有元素之和,
 * 并打印出最大值和最小值。
 * */

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;
	}
}

结果:


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。