这个程序到底是什么问题啊?
import java.util.Scanner;
class custom//定义一个用户输入信息的类;
{
Scanner scan=new Scanner(System.in);
String address;
int number;
double size;
void accept()
{
address=scan.next();
number=scan.nextInt();
size=scan.nextDouble();
}
}
class yesorno
{
String address="请与管理员联系!";
int number=3;
double size=800;
double rent=3*600;
custom newcustom=new custom();
void panduan(String a,int b,double c)
{
if(b==0&&c==0)
{
System.out.println("您没有输入自己所要房间的条件,我们将给您分配默认的房间信息,信息如下 \n"
+"房间地址请与管理元联系,房间数为3间,房间大小为800"+"\n"+"您所要付的租金为"+rent);
}
else if(b!=0&&c!=0)
{
if(b<=10&&c>=800&&c<=1000)
{
rent=600;
{
System.out.println("您的房间地址为:"+newcustom.address);
System.out.println("您要求的房间数为:"+newcustom.number);
System.out.println("您所要求的房间大小为:"+newcustom.size);
System.out.println("您所要付的租金为:"+newcustom.number*rent);
}
}
else if(b<=10&&c>=1000&&c<=1500)
{rent=800;
{
System.out.println("您的房间地址为:"+newcustom.address);
System.out.println("您要求的房间数为:"+newcustom.number);
System.out.println("您所要求的房间大小为:"+newcustom.size);
System.out.println("您所要付的租金为:"+newcustom.number*rent);
}
}
else if(b<=10&&c>=1500)
{rent=1000;
{
System.out.println("您的房间地址为:"+newcustom.address);
System.out.println("您要求的房间数为:"+newcustom.number);
System.out.println("您所要求的房间大小为:"+newcustom.size);
System.out.println("您所要付的租金为:"+newcustom.number*rent);
}
}
else if(b>10)
System.out.print("目前没有您所要求的房间,SORRY!"+address);
}
}
}
public class Room
{
public static void main(String args[])
{
custom custom1=new custom();
yesorno yesorno=new yesorno();
System.out.println("请输入您所需要的房间地址、房间数目、房间大小:");
custom1.accept();
yesorno.panduan(custom1.address, custom1.number, custom1.size);
}
}
不论输入什么范围的数据运行结果都是:
请输入您所需要的房间地址、房间数目、房间大小:
4
4
900
您的房间地址为:null
您要求的房间数为:0
您所要求的房间大小为:0.0
您所要付的租金为:0.0
------解决方案--------------------你输入的是yesorno 中的 custom newcustom=new custom(); 值,当然是这个结果啦
void panduan(String a,int b,double c) 你在这方法的地方要重新给这个类的那个newcustom值才会是结果啊
加一点代码
newcustom.address=a;
newcustom.number=b;
newcustom.size=c;
再去if判断就可以了.