我一直过这个问题,在这里我要插入一个IF语句到我的班来了,但一直返回类型/表达错误的非法启动。插入IF语句 - Java的
有没有什么我在这里做错了,如果有的话,有人可以指示我应该把这些IF语句的方向。
我需要一个IF语句,如:
IF (RList.contains(r1.getRouteName() == "Route2"))
c1.setCollision1(b1.getStartTime ++ c1.getCollision1)
ELSE
c1.setCollision2(b1.getStartTime ++ c1.getCollision2)
我知道这是不是可能是错误的更多,但无论如何。 我想这段代码插入到下面的类
import javax.swing.*;
import java.sql.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Student s2 = new Student();
Booking b1 = new Booking();
Route r1 = new Route();
Route r2 = new Route();
Examiner e1 = new Examiner();
Examiner e2 = new Examiner();
Collision c1 = new Collision();
//New Student
s2.setStudentId(Integer.parseInt(JOptionPane.showInputDialog("Enter ID for Student 2: [0001]")));
s2.setFname(JOptionPane.showInputDialog("Enter first name of Student 2: "));
s2.setLname(JOptionPane.showInputDialog("Enter last name of Student 2: "));
s2.setAddress(JOptionPane.showInputDialog("Enter address for Student 2: "));
s2.setPhoneNo(JOptionPane.showInputDialog("Enter phone number for Student 2: "));
s2.setOtherDetails(JOptionPane.showInputDialog("Enter other details for Student 2: "));
JOptionPane.showMessageDialog(null,"Student Two: \n" + s2.toString());
//End of New Student
//New Booking
b1.setBookingId(Integer.parseInt(JOptionPane.showInputDialog("Enter ID for Booking 1: [0001]")));
b1.setBookingType(JOptionPane.showInputDialog("Enter Booking Type for Booking 1: [Exam or Lesson]"));
b1.setStartTime(Double.parseDouble(JOptionPane.showInputDialog("EnterStart time for Booking 1: ")));
b1.setEndTime(Double.parseDouble(JOptionPane.showInputDialog("Enter address for Student 2: ")));
b1.setBookingDate(JOptionPane.showInputDialog("Enter Date for Booking 1: [01-JAN-2012]"));
b1.setHistory(JOptionPane.showInputDialog("Enter name of previous examiner 2: [enter 'null' if no previous]"));
JOptionPane.showMessageDialog(null,"Booking One: \n" + b1.toString());
//End of New Booking
//Set the Routes
r1.setRouteId(0001);
r1.setRouteName("Route1");
r1.setEndTime(0.40);
r2.setRouteId(0002);
r2.setRouteName("Route2");
r2.setEndTime(0.50);
//End Set Routes
//Create Examiners
e1.setExaminerId(0001);
e1.setName("John Murphy");
e1.setOtherDetails("ADI Registered");
e2.setExaminerId(0002);
e2.setName("Lucy Casey");
e2.setOtherDetails("ADI Registered");
//End Create Examiners
// <editor-fold defaultstate="collapsed" desc="Connect to database and insert data into database">
String strConn = "jdbc:oracle:thin:@oracle.staff.ittralee.ie:1521:orcl";
String strUser = "*";
String strPassword = "*";
try {
Driver drv = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(drv);
Connection conn = DriverManager.getConnection(strConn, strUser, strPassword);
//code to execute commands...
// </editor-fold>
//StudentInsert
String query = "INSERT INTO Student(STUDENTID, FNAME, LNAME, ADDRESS, " +
"PHONENO, OTHERDETAILS) VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(query);
pstmt.setInt(1, s2.getStudentId());
pstmt.setString(2, s2.getFname());
pstmt.setString(3, s2.getLname());
pstmt.setString(4, s2.getAddress());
pstmt.setString(5, s2.getPhoneNo());
pstmt.setString(6, s2.getOtherDetails());
pstmt.executeUpdate();
//End Student Insert
//Booking Insert
String query1 = "INSERT INTO Booking(BOOKINGID, BOOKINGTYPE, LNAME, STARTTIME, ENDTIME, " +
"BOOKINGDATE, HISTORY) VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement pstmt1 = conn.prepareStatement(query1);
pstmt1.setInt(1, b1.getBookingId());
pstmt1.setString(2, b1.getBookingType());
pstmt1.setDouble(3, b1.getStartTime());
pstmt1.setDouble(4, b1.getEndTime());
pstmt1.setString(5, b1.getBookingDate());
pstmt1.setString(6, b1.getHistory());
pstmt1.executeUpdate();
//End Booking Insert
//Returns Id of route not in use
String query2 = "SELECT R.RouteID FROM Route R WHERE RouteID not in (SELECT B.RouteId FROM Booking B)";
JOptionPane.showMessageDialog(null, query2);
//End Route not in use
//Adding routes to a list to randomly assign an examiner to a route
LinkedList< String> EList = new LinkedList< String>();
EList.add(e1.getName());
EList.add(e2.getName());
Collections.shuffle(EList);
LinkedList< String> RList = new LinkedList< String>();
RList.add(r1.getRouteName());
RList.add(r2.getRouteName());
Collections.shuffle(RList);
JOptionPane.showMessageDialog(null, "Examiner: " + EList + "\nRoute: " + RList);
//End random assign route
}
catch(SQLException e) {
System.out.println(" A SQL error: " + e.getMessage());
}
}
}
你的if语法不正确。你有没有检查过关于它的参考手册? – Bozho 2012-03-06 23:24:12
你的示例输入的问题是'=='不应该在if语句中。它返回一个布尔值,即使这在语法上是正确的,也不会被接受到'contains()'方法中。 – Jon 2012-03-06 23:24:18
我知道这一切,如果陈述是错误的,我写它作为一个快速样本。但我所说的甚至是一个基本的if语句,如2 + 2 = 4与输出仍然返回相同的错误 – user1081326 2012-03-06 23:29:30