判断航班日期,给定一个boolean数组,长度为7。从下标0位置到下标6的位置分别代表周日、周一至周六。数组中对应元素为ture代表今日有航班,为false代表今日无航班。
实现方法isHasAirline,参数为char c,代表想查询的日期,返回值为boolean类型,代表参数传入的查询日期那一天是否有航班。
要求参数既支持字符'0'到'6',又支持传入字符'日'到'六'的查询。
实现方法isHasAirline,参数为char c,代表想查询的日期,返回值为boolean类型,代表参数传入的查询日期那一天是否有航班。
要求参数既支持字符'0'到'6',又支持传入字符'日'到'六'的查询。
{
return true;
}
...不会是这样吧
import java.util.Map;public class AirLine {
public boolean[] b = { true, true, true, false, false, true, true };
Map<String, Integer> cday = null; public AirLine(){
cday = new HashMap<String, Integer>();
cday.put("天", 0);
cday.put("一", 1);
cday.put("二", 2);
cday.put("三", 3);
cday.put("四", 4);
cday.put("五", 5);
cday.put("六", 6);
}
public boolean isHasAirLine(char c) {
if((int)c<54){
return b[(int)c-48];
}
return b[cday.get(c+"")];
}
}
int index = validChars.indexOf(c) % 6;
if (index < 0) {
throw new IllegalArgumentException(ex);
}
return b[index];
public static void main(String []args){
//提示输入
System.out.print("请输入星期(0~6)或者(日~六):");
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char c=str.charAt(0);
boolean day=isHasAirline(c);
//如果day返回值为真,则有航班,否则航班
if (day){
System.out.println("有航班");
}else
System.out.println("无航班");
}
//建立isHasAirline方法
public static boolean isHasAirline(char c){
int day=0;
boolean[]dates={true,false,false,false,true,true,true};
//实现分支判断
switch(c){
case'日':case'0':day=0;break;
case'一':case'1':day=1;break;
case'二':case'2':day=2;break;
case'三':case'3':day=3;break;
case'四':case'4':day=4;break;
case'五':case'5':day=5;break;
case'六':case'6':day=6;break;
}
return dates[day];
}
}