一个Java试题,判断航班日期的,求解!

Kinking 2011-05-11 04:47:39
判断航班日期,给定一个boolean数组,长度为7。从下标0位置到下标6的位置分别代表周日、周一至周六。数组中对应元素为ture代表今日有航班,为false代表今日无航班。
实现方法isHasAirline,参数为char c,代表想查询的日期,返回值为boolean类型,代表参数传入的查询日期那一天是否有航班。
要求参数既支持字符'0'到'6',又支持传入字符'日'到'六'的查询。


...全文
375 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kinking 2011-05-11
  • 打赏
  • 举报
回复
import java.util.Scanner;

public class AirlineDemo {
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];
}
}
Kinking 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kiss601459202 的回复:]
Java code
package test;

import java.util.HashMap;
import java.util.Map;

public class AirLine {
public boolean[] b = { true, true, true, false, false, true, true };
Map<String, Intege……
[/Quote]

看不大懂呃 能加些注释么……
我新手……呵呵
Kinking 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liuyuhua0066 的回复:]
要求参数既支持字符'0'到'6',又支持传入字符'日'到'六'的查询。
以后粘贴问题的时候麻烦把"要求"两字去掉吧,谢谢。
[/Quote]
呵呵 谢谢!以后我定会注意的……!
shine333 2011-05-11
  • 打赏
  • 举报
回复
sorry,应该是% 7
shine333 2011-05-11
  • 打赏
  • 举报
回复
String validChars = "0123456日一二三四五六";
int index = validChars.indexOf(c) % 6;
if (index < 0) {
throw new IllegalArgumentException(ex);
}
return b[index];
liuyuhua0066 2011-05-11
  • 打赏
  • 举报
回复
要求参数既支持字符'0'到'6',又支持传入字符'日'到'六'的查询。
以后粘贴问题的时候麻烦把"要求"两字去掉吧,谢谢。
kiss601459202 2011-05-11
  • 打赏
  • 举报
回复
package test;

import java.util.HashMap;
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+"")];
}
}
aotian16 2011-05-11
  • 打赏
  • 举报
回复
if((c=='0' || c=='日') && array[0])
{
return true;
}
...

不会是这样吧

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧