Air Infomation System 基于控制台的航班信息系统(方法总结)


删除航班的方法

此处当独写的一个方法来检测输入的数是否符合要求,若不符合要求,则重新输入。

首先我想把它写在delete_flight方法体中,但是当我把变量id封装到for循环中后,for循环的外部就无法接受到此id的值,因此我想到了用一个方法体来封住这个检测输入数据的方法,并将符合的数据作为返回值返回它。

int test(ArrayList<AirInfo> arrayList){
		Scanner in=new Scanner(System.in);
		for(int i=1;i>0;i++){  
			int id=in.nextInt();
			if(id<=arrayList.size()){
				return id;}
			else{
				System.out.print("查询的航班编号不存在,请重新输入航班编号");}
		}
		return 0;
	}
	
	public void delete_flight(ArrayList<AirInfo> flight){
		System.out.print("请输入需要删除的航班编号:");
		Scanner in=new Scanner(System.in);
		List delList = new ArrayList();
		int id=test(flight);
		for(AirInfo e:flight)
		{
			if(e.getId()==(id))
				delList.add(e);
		}
		flight.removeAll(delList);
		System.out.println("删除成功!");
	}


从上面可以总结出一个方法体(输入指定区间的数,不然重新输入,直至该数符合要求时[ps:仅限于console端输入]):


import java.util.Scanner;
 
public class ConditionalOperator {
 
static int test(){
Scanner scanner = new Scanner(System.in);    
System.out.print("请输入数字: ");
for(int i=1;i>0;i++){    
int inputedNumber =scanner.nextInt();
if( inputedNumber%2 != 0) {
System.out.println("输入的是为奇数" );
return inputedNumber;
}else{
System.out.print("输入的不是奇数,请重新输入数字: ");
}
}
return 0;
}
public static void main(String[]args) {
System.out.println(test());
}
}

你可能感兴趣的:(java,eclipse)