如何检验数组中是否含有某数字/字符组中是否含有某字符
一、方法
- 对于字符串组,可以直接
String[] a={"a","b","c"};
boolean a=Arrays.asList(a).contains("a");//true
boolean b=Arrays.asList(a).contains("d");//false
- 对于数组
//直接用将都返回false
int[] a={1,2,3};
boolean a=Arrays.asList(a).contains(1);//false
boolean ab=Arrays.asList(a).contains(4);//false
//故需要加一步转换。
String[] a={"1","2","3"};
boolean a=Arrays.asList(a).contains(Integer.toString(1))//true
boolean b=Arrays.asList(a).contains(Integer.toString(4))//false
二、 实例
【深基3.例9】月份天数
题目描述
输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。
输入格式
输入两个正整数,分别表示年份 y y y 和月数 m m m,以空格隔开。
输出格式
输出一行一个正整数,表示这个月有多少天。
代码
import java.util.Arrays;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int yr=sc.nextInt();
int mon=sc.nextInt();
Main test=new Main();
int day=test.selectDay(mon);
System.out.print((test.isHeap(yr))&(mon==2)?(day+1):day);
}
public boolean isHeap(int yr){
boolean isHeap;
if(yr%4==0 & yr%100 !=0){
isHeap=true;
} else if (yr%400==0) {
isHeap=true;
}else{isHeap=false;}
return isHeap;
}
public int selectDay(int mon){
int day;
String[] a= {"1","3","5","7","8","10","12"};
if(mon==2){day=28;}
else if (Arrays.asList(a).contains(Integer.toString(mon))) {day=31;}
else{day=30;}
return day;
}
}