JAVA链表混淆了我为什么可以';t对照链表中的节点检查变量?
我正在尝试获取一个输入,并检查该输入是否在链接列表中。我有问题,尽管要让它正常工作 如果我在LinkedList.Java类中添加新方法,它会说它需要为link定义一个变量。以下是我的全部资料,如果有帮助的话:JAVA链表混淆了我为什么可以';t对照链表中的节点检查变量?,java,linked-list,Java,Linked List,我正在尝试获取一个输入,并检查该输入是否在链接列表中。我有问题,尽管要让它正常工作 如果我在LinkedList.Java类中添加新方法,它会说它需要为link定义一个变量。以下是我的全部资料,如果有帮助的话: public static void check(){ String name; System.out.println("Enter Customer Name to CHECK RESERVATION ticket for this Flight: ")
public static void check(){
String name;
System.out.println("Enter Customer Name to CHECK RESERVATION ticket for this Flight: ");
Scanner input = new Scanner(System.in);
name = input.nextLine();
if (list.contains(name)) { //WHY IS THIS ASKING FOR SEPARATE METHOD?
System.out.println(name +" has a Reservation on this FLight!");
menu();
}
import java.util.Scanner;
头等航空公司{
public static LinkedList=new LinkedList();
公共静态void main(字符串[]args){
列表。添加飞机(“艾伦”,501);
列表。添加飞机(“詹姆斯”,501);
列表。添加飞机(“Andrea”,501);
列表。添加飞机(“Velvett”,501);
列表。添加飞机(“保罗”,501);
//方法按汽车制造年份对列表进行排序
list.sortList();
菜单();
//方法打印列表中的所有对象
System.out.println(list.viewAll());
}
公共静态无效菜单(){
国际货币基金组织;
System.out.println(“航空公司菜单:”);
System.out.println(“1.订票”);
System.out.println(“2.取消预订”);
System.out.println(“3.检查预订”);
System.out.println(“4.在航班上显示飞机”);
扫描仪输入=新扫描仪(System.in);
menuOpt=input.nextInt();
系统输出打印项次(menuOpt);
开关(menuOpt){
案例1:
System.out.println(“预订机票”);
reservedick();
打破
案例2:
System.out.println(“取消预订”);
取消();
打破
案例3:
System.out.println(“检查预订”);
检查();
打破
案例4:
System.out.println(“按航班列出的乘客”);
打破
违约:
System.out.println(“无效响应!”);
菜单();
打破
}
}
公共静态无效保留项(){
字符串名;
System.out.println(“输入客户名称以预订此航班的机票:”);
扫描仪输入=新扫描仪(System.in);
name=input.nextLine();
列表。添加飞机(名称,501);
System.out.println(航班号501中增加了名称+);
菜单();
}
公共静态作废取消(){
字符串名;
System.out.println(“输入客户名称以取消此航班的机票:”);
扫描仪输入=新扫描仪(System.in);
name=input.nextLine();
列表。删除(名称,501);
System.out.println(name+“已从501航班号中删除”);
菜单();
}
公共静态无效检查(){
字符串名;
System.out.println(“输入客户名称以检查此航班的预订机票:”);
扫描仪输入=新扫描仪(System.in);
name=input.nextLine();
if(列表包含(名称)){
System.out.println(name+“预订了这趟航班!”);
菜单();
}
否则{
System.out.println(name+“不在本次航班上!”);
菜单();
}
}
公众静电力乘客人数(){
list.sortList();
}
}
------------------------------------------------------------------
导入java.util.*;
公共类链接列表
{
专用AirplaneNode头=空;
public void addPlanet(字符串名称,int hk)
{
//如果head=null,则创建第一个节点
if(head==null)
{
head=新AirplaneNode(名称,hk,空);
}
其他的
{
//如果有多个节点
head=新AirplaneNode(名称,香港,head);
}
}
公共无效分类列表()
{
布尔排序=假;
而(!排序)
{
排序=真;
对于(AirplaneNode cursor=head;cursor.getNext()!=null;cursor=cursor.getNext())
{
if(cursor.getHk()
以以下方式声明您的链接列表:
import java.util.Scanner;
class airline {
public static LinkedList list = new LinkedList();
public static void main(String[] args) {
list.addAirplane("Allen",501);
list.addAirplane("James",501);
list.addAirplane("Andrea",501);
list.addAirplane("Velvett",501);
list.addAirplane("Paul",501);
//Method sort the list after year the car was made
list.sortList();
menu();
//Method to print all objects in List
System.out.println(list.viewAll());
}
public static void menu(){
int menuOpt;
System.out.println("Airline Menu:");
System.out.println("1. Reserve a Ticket");
System.out.println("2. Cancel Reservations");
System.out.println("3. Check Reservations");
System.out.println("4. Display Airplanes on Flights");
Scanner input = new Scanner(System.in);
menuOpt=input.nextInt();
System.out.println(menuOpt);
switch (menuOpt){
case 1:
System.out.println("Reserve a Ticket");
reserveTick();
break;
case 2:
System.out.println("Cancel Reservations");
cancel();
break;
case 3:
System.out.println("Check Reservations");
check();
break;
case 4:
System.out.println("Passengers listed by Flights");
break;
default:
System.out.println("INVALID RESPONSE!");
menu();
break;
}
}
public static void reserveTick(){
String name;
System.out.println("Enter Customer Name to RESERVE ticket for this Flight: ");
Scanner input = new Scanner(System.in);
name = input.nextLine();
list.addAirplane(name,501);
System.out.println(name + " has been added to Flight Number 501");
menu();
}
public static void cancel(){
String name;
System.out.println("Enter Customer Name to CANCEL ticket for this Flight: ");
Scanner input = new Scanner(System.in);
name = input.nextLine();
list.remove(name, 501);
System.out.println(name + " has been REMOVED from Flight Number 501");
menu();
}
public static void check(){
String name;
System.out.println("Enter Customer Name to CHECK RESERVATION ticket for this Flight: ");
Scanner input = new Scanner(System.in);
name = input.nextLine();
if (list.contains(name)) {
System.out.println(name +" has a Reservation on this FLight!");
menu();
}
else {
System.out.println(name + " is not on this Flight!");
menu();
}
}
public static void listpassengers(){
list.sortList();
}
}
------------------------------------------------------------------
import java.util.*;
public class LinkedList
{
private AirplaneNode head = null;
public void addAirplane(String name , int hk)
{
//If head = null then create the first node
if(head == null)
{
head = new AirplaneNode(name,hk,null);
}
else
{
//If there are more than 1 node
head = new AirplaneNode(name,hk,head);
}
}
public void sortList()
{
boolean sorted = false;
while(!sorted)
{
sorted = true;
for(AirplaneNode cursor = head ; cursor.getNext() != null ; cursor = cursor.getNext())
{
if(cursor.getHk() < cursor.getNext().getHk())
{
String n = cursor.getName();
int hk = cursor.getHk();
cursor.setName(cursor.getNext().getName());
cursor.setHk(cursor.getNext().getHk());
cursor.getNext().setName(n);
cursor.getNext().setHk(hk);
sorted = false;
}
}
}
}
public String viewAll()
{
StringBuffer str = new StringBuffer();
for(AirplaneNode cursor = head ; cursor != null ; cursor = cursor.getNext())
{
str.append(cursor+"\n");
}
return new String(str);
}
}
--------------------------------------------------------------
public class AirplaneNode
{
private String name;
private int hk;
private AirplaneNode next;
public AirplaneNode(String name,int hk,AirplaneNode head)
{
this.name = name;
this.hk = hk;
this.next = head;
}
public AirplaneNode getNext()
{
return next;
}
public String getName()
{
return name;
}
public int getHk()
{
return hk;
}
public void setName(String in)
{
name = in;
}
public void setHk(int in)
{
hk = in;
}
public String toString()
{
return name + " " + hk ;
}
}
publicstaticlinkedlist=newlinkedlist();
编辑(根据您的评论):
看起来您需要一个航班列表,其中每个航班都有一个乘客姓名列表
public static LinkedList<String> list = new LinkedList<String>();
公共舱航班{
私人名单;
私人终场灯光;
私有静态最终Collator sCollator=Collator.getInstance();
公共航班(国际航班){
mPassengers=newarraylist();
mFlight=飞行;
}
公共无效分拣员(){
public class Flight implements Comparable<Flight> {
private List<String> mPassengers;
private final int mFlight;
private static final Collator sCollator = Collator.getInstance();
public Flight(int flight) {
mPassengers = new ArrayList<String>();
mFlight = flight;
}
public void sortPassengers() {
Collections.sort(mPassengers, sCollator);
}
public void addPassenger(String name) {
mPassengers.add(name);
}
public boolean removePassenger(String name) {
return mPassengers.remove(name);
}
public boolean hasPassenger(String name) {
return mPassengers.contains(name);
}
public String getFlight() { return mFlight; }
public int compareTo(Flight other) {
return mFlight - other.mFlight;
}
}
public static List<Flight> list = new LinkedList<Flight>();
public static void main(String[] args) {
Flight flight = new Flight(501);
flight.addPassenger("Allen");
// etc. for all flight 501 passengers
list.add(flight);
// repeat all the above for each flight number
}
import java.util.*;
public class LinkedList
{