假设一列火车一共经过10个车站,车站按顺序为 A B C D E F G H I J ,编写一个程序,自动计算剩余的票
要求:1 假设火车有100个座位
2.程序可以输入购买车票的起始站与结束站
3.输入后,程序输出剩余车票,
4.如剩余车票大于0,用户此时可以输入购买,购买后,车票减一,
5.依次循环
例如 输入 C F
输出 100
输入 buy
输出 buy ok
输入 A J 难点 输入 A B
输出 99 输出100
JAVA代码如下:
public class RailWay {
public static List<String> lists= new ArrayList<String>();
public static int getNums(char start, char end) {
int cnt = 100;
Iterator<String> its = lists.iterator();
while(its.hasNext()) {
String str = its.next();
char[] piaoDetail = str.toCharArray();
for(int i=0; i<piaoDetail.length; i++) {
int mark = 0;
for(char j=start; j<=end; j++) {
if(piaoDetail[i]==j) {
cnt--;mark=1;break;
}
}
if(mark==1)
break;
}
}
return cnt;
}
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
while(true) {
System.out.println("请输入起点:");
String a = s.next();
char start = a.toCharArray()[0];
System.out.println("请输入终点:");
String b = s.next();
char end = b.toCharArray()[0];
if(start>='A' && end <='J') {
if(getNums(start, end)>0) {
System.out.println("剩余票:" + getNums(start, end));
if(getNums(start, end) > 0) {
System.out.println("确认买票输入‘buy’");
String in = s.next();
if("buy".equalsIgnoreCase(in)) {
StringBuffer sb = new StringBuffer("");
for(char i=start;i<=end ;i++) {
sb.append(i);
}
lists.add(sb.toString());
System.out.println(sb);
System.out.println("buy ok!");
System.out.println("当前库里存在的票有:"+lists.toString());
}else {}
}
}else {
System.out.println("票已售罄!");
}
}else {
System.out.println("请输入正确的起点、终点!");
}
}
}
}