if语句不适合我-Java
我有两门课:顾客课和电影课。(问题条件在MovieSeat中的assignCustomerAt方法中) 所以if语句不适合我-Java,java,logic,Java,Logic,我有两门课:顾客课和电影课。(问题条件在MovieSeat中的assignCustomerAt方法中) 所以something.toString()返回“?。?” 对吧? 一切都很好,但还有这个 public class MovieSeating{ public Customer[][] seating; public int rowNumber; public int colNumber; public MovieSeating(int rowNum, int columnNum){
something.toString()代码>返回“?。?”
对吧?
一切都很好,但还有这个
public class MovieSeating{
public Customer[][] seating;
public int rowNumber;
public int colNumber;
public MovieSeating(int rowNum, int columnNum){
rowNumber= rowNum;
colNumber=columnNum;
Customer thisGuy = new Customer();
Customer[][] seaTing = new Customer[rowNum][columnNum];
for(int i = 0; i<rowNum;i++){
for(int j = 0; j<columnNum; j++){
seaTing[i][j] = thisGuy;
}
}
seating = seaTing;
}
public boolean assignCustomerAt(int row, int col, Customer tempCustomer){
String a = seating[row][col].toString();
if(a=="?.?."){ //THE CONDITION IN THIS IF STATEMENT IS THE PROBLEM
seating[row][col] = tempCustomer;
return true;
}
return false;
}
公共类电影{
公众客户[]座位;
公共整数行数;
公共整数;
公共电影播放(int rowNum,int columnNum){
rowNumber=rowNum;
colNumber=columnNum;
客户thisgoy=新客户();
客户[][]座位=新客户[rowNum][columnNum];
对于(int i=0;i字符串无法使用=
进行比较,因为您正在比较对象参考
,而不是对象信息
你必须换成
a.equals("?.?."){
if(a==“?。?”){
应该是if(“?。?”.equals(a)){
一个很长的问题,但是你应该使用equals()
方法来比较对象,而不是=
操作符。为什么发现类似字符串有问题的人也发现类似帖子有问题?;)谢谢!对不起,解决方案这么简单。你能解释一下为什么会这样吗?
a.equals("?.?."){