62,621
社区成员
发帖
与我相关
我的任务
分享/*
第一题(编程题: 30分)
获取指定数组中偶数元素值的最小值,要求如下:
定义static int getEven(int[] arr)方法,方法内要求:获取指定数组arr中偶数元素值的最小值,并返回
定义main方法,方法内完成:
1.定义一个int数组arr
2.键盘录入5个整数,存入数组arr中,并且录入之前提示输入的是第几个数字
3.传递arr调用getEven(int[] arr)方法,获取返回值
4.在控制台打印输出方法返回值
*/
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int[] arr=new int[5];
for(int i=0;i<arr.length;i++){
System.out.println("请输入数字");
int s=sc.nextInt();
arr[i]=s;
System.out.println("您输入的数字是:"+arr[i]+",第"+i+"个数字");
}
int y=0;
y=getEven(arr);
System.out.println("本数组中最小的偶数元素是"+y);
}
public static int getEven(int[] arr){
int ss=arr[0];
for(int i=0;i<arr.length;i++){
if( arr[i]%2==0 && arr[i]<ss){
ss=arr[i];
}
}
return ss;
}
}
package com.han.test1;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
* 第一题(编程题: 30分)
* 获取指定数组中偶数元素值的最小值,要求如下:
* 定义static int getEven(int[] arr)方法,方法内要求:获取指定数组arr中偶数元素值的最小值,并返回
* 定义main方法,方法内完成:
* 1.定义一个int数组arr
* 2.键盘录入5个整数,存入数组arr中,并且录入之前提示输入的是第几个数字
* 3.传递arr调用getEven(int[] arr)方法,获取返回值
* 4.在控制台打印输出方法返回值
*/
public class demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入数字");
int s = sc.nextInt();
arr[i] = s;
System.out.println("您输入的数字是:" + arr[i] + ",第" + i + "个数字");
}
int y = 0;
y = getEven(arr);
if (y == 0) {
System.out.println("输入的数组中没有偶数");
} else {
System.out.println("本数组中最小的偶数元素是" + y);
}
}
public static int getEven(int[] arr) {
int minNum = 0;
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0) {
list.add(arr[i]);
}
}
if (list.size() > 0) {
minNum = list.get(0);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) < minNum) {
minNum = list.get(i);
}
}
}
return minNum;
}
}
// 这个应该能够满足你的需求 方法就是将指定的数组中的数据 将数据中的偶数取出放入到List集合中 然后 在从list集合中取出最小的值 即为
// 指定数组中最小的偶数 如果返回的事默认的值 则证明没有偶数
if(ss%2==0){
return ss;
}else{
return 0;
}
//不过你代码有一个bug,假如输入第一个数是 1 的时候如果里面有偶数的时候你则返回1