我正在申请存储为假想的航空公司登机的门票.我创建了一个Ticket类,见下文
public class ticket
{
String lastName;
String firstName;
String origin;
String destination;
String flightNumber;
String seatNumber;
String date;
public ticket()
{
}
public ticket(String lastname, String firstName, String origin, String destination,
String flightNumber, String seatNumber, String date)
{
}
Run Code Online (Sandbox Code Playgroud)
我有两个门票类,第一个和经济舱.这架飞机只能容纳10个座位.所以我的结构有两个票对象数组,一个包含4个票对象"第一类",另一个包含6个票证对象"经济类".见下文
ticket[] ticketFirst = new ticket[4];
ticket[] ticketEcon = new ticket[6];
Run Code Online (Sandbox Code Playgroud)
我必须在各自的票证阵列中随机分配座位.我正在调用我的get方法(下面的示例)来检查重复项,即随机分配的席位是否已填充.
public String getLastName()
{
return this.lastName;
}
当我运行我的程序时,我得到错误WindowsFormsApplication1.ticket'是'类型'但是像'变量'一样使用(下面的相关代码)
private void btnSubmit_Click(object sender, EventArgs e)
{
Random random = new Random();
int rand = random.Next(0, 4);
if (ticket[rand].getLastName = null)
{
ticket[rand].setLastName = txbLastName.Text;
ticket[rand].setFirstName = txbFirstName.Text;
ticket[rand].setOrigin = txbOrigin.Text;
ticket[rand].setDestination = txbDestination.Text;
ticket[rand].setFlightNumber = txbFlightNumber.Text;
ticket[rand].setSeatNumber = txbSeatNumber.Text;
ticket[rand].setDate = txbDate.Text;
}
else
{
MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
}
}
Run Code Online (Sandbox Code Playgroud)
我的目的是将新的票证对象分配给数组中的随机座位(位置),我的大部分经验都是使用java.我认为这是我使用类似java语法的语法错误.任何指示,以使其正常工作?
完整程序如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ticket[] ticketFirst = new ticket[4];
ticket[] ticketEcon = new ticket[6];
}
private void btnSubmit_Click(object sender, EventArgs e)
{
Random random = new Random();
int rand = random.Next(0, 4);
if (ticket[rand].getLastName = null)
{
ticket[rand].setLastName = txbLastName.Text;
ticket[rand].setFirstName = txbFirstName.Text;
ticket[rand].setOrigin = txbOrigin.Text;
ticket[rand].setDestination = txbDestination.Text;
ticket[rand].setFlightNumber = txbFlightNumber.Text;
ticket[rand].setSeatNumber = txbSeatNumber.Text;
ticket[rand].setDate = txbDate.Text;
}
else
{
MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
}
}
}
public class ticket
{
String lastName;
String firstName;
String origin;
String destination;
String flightNumber;
String seatNumber;
String date;
public ticket()
{
}
public ticket(String lastname, String firstName, String origin, String destination,
String flightNumber, String seatNumber, String date)
{
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getLastName()
{
return this.lastName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getFirstName()
{
return this.firstName;
}
public void setOrigin(String origin)
{
this.origin = origin;
}
public String getOrigin()
{
return this.origin;
}
public void setDestination(String destination)
{
this.destination = destination;
}
public String getDestination()
{
return this.destination;
}
public void setFlightNumber(String flightNumber)
{
this.flightNumber = flightNumber;
}
public String getFlightNumber()
{
return this.flightNumber;
}
public void setSeatNumber(String seatNumber)
{
this.seatNumber = seatNumber;
}
public String getSeatNumber()
{
return this.seatNumber;
}
public void setDate(String date)
{
this.date = date;
}
public String getDate()
{
return this.date;
}
}
}
Run Code Online (Sandbox Code Playgroud)
你ticket[rand]需要成为ticketFirst[rand]或者ticketEcon[rand].它们还需要在Form1构造函数之外定义,以便能够在表单中的其他位置访问它们.
例如
public partial class Form1 : Form
{
ticket[] ticketFirst = new ticket[4];
ticket[] ticketEcon = new ticket[6];
public Form1()
{
InitializeComponent();
ticketFirst = new ticket[4];
ticketEcon = new ticket[6];
}
private void btnSubmit_Click(object sender, EventArgs e)
{
Random random = new Random();
int rand = random.Next(0, 4);
if (ticketFirst[rand].getLastName = null)
{
ticketFirst[rand].setLastName = txbLastName.Text;
ticketFirst[rand].setFirstName = txbFirstName.Text;
ticketFirst[rand].setOrigin = txbOrigin.Text;
ticketFirst[rand].setDestination = txbDestination.Text;
ticketFirst[rand].setFlightNumber = txbFlightNumber.Text;
ticketFirst[rand].setSeatNumber = txbSeatNumber.Text;
ticketFirst[rand].setDate = txbDate.Text;
}
else
{
MessageBox.Show("Seat Assignment Failed, try again.", "Seat Assignment");
}
}
}
Run Code Online (Sandbox Code Playgroud)