用户输入字符串和int,if语句

时间:2017-01-27 22:06:36

标签: java string if-statement int

我是java的新手,我正在做一些功课。 我正在努力写一个' If'声明,用字符串和int。 应该发生的是用户输入性别,今天的日期和他们的生日。 那么该程序应该告诉你,如果你是一个男性并且你是一个特定的年龄,你最好的比率是...... 但是,我遇到麻烦的是,如何写一个' If'带有int和字符串的语句?

// @评论是由我的教授发表的

Scanner kb = new Scanner(System.in);
System.out.println("Welcome to the car renter's rate finder.");       
System.out.print("Please enter the renter's gender (m/f): ");
String gender = kb.nextLine();

System.out.print("Please enter the today's date (mm dd yyyy): ");
     int curMonth = kb.nextInt();
     int curDay = kb.nextInt();
     int curYear = kb.nextInt();
     kb.nextLine();

System.out.print("Please enter the renter's date of birth (mm dd yyyy): ");
     int birthMonth = kb.nextInt();
     int birthDay = kb.nextInt();
     int birthYear = kb.nextInt();
     kb.nextLine();

     int age = 0;

     String rateResult;



  // Get age...
     age = calcAge(curMonth, curDay, curYear, birthMonth, birthDay, birthYear);

  // Get the rental rate...
     //rateResult = calcRateClass(age, gender); 
  // Display the results...
     //displayResults(gender, age, rateResult);
     displayResults(age);
  }
}

private static int calcAge(int curMonth, int curDay, int curYear,int, birthMonth,int birthDay,int birthYear)
{
return curYear - birthYear;
}

private static void displayResults(int age)
{
System.out.printf("Thanks. \n");
System.out.printf("The driver is %d years old. \n",age);
if (age >= 35 && age <= 65)
//Best rate (male drivers, age 33 – 65 and female drivers, age 30 - 62) -- $40.00 per day, $200.00 per week
  {
  System.out.println("$40.00 per day, $200.00 per week.");
  }

2 个答案:

答案 0 :(得分:1)

首先,请务必将c传递给gender方法

displayResults

然后您可以使用private static void displayResults(String gender, int age) 来比较该值,但这是区分大小写的比较,因此类似String#equals的内容将是更好的选择

获得该信息后,您可以在String#equalsIgnoreCase声明中加入gender

你可以使用......

if

如果您希望使用&#34; M&#34;做更多事情,例如,如果他们的年龄超过if (gender.equalsIgnoreCase("M") { if (age >= 35 && age <= 65) { 就好了。

如果您只是针对&#34; M&#34;进行单一操作,您可以使用

之类的内容
65

可以减少厄运的金字塔#34;缩进问题

我建议您查看The Strings trailAPI docs了解更多详情

答案 1 :(得分:0)

在单个if语句

中实现此目的
  

//最佳率(男性司机,年龄33-65岁,女性司机,30岁 -   62) - 每天40.00美元,每周200.00美元

如果符合以下条件,您可以使用此方法:

if( (gender.equalsIgnoreCase('m') && (age >= 33 && age <= 65)) || (gender.equalsIgnoreCase('f') && (age >= 30 && age <=62)) )

当然,您需要将性别参数传递给displayResults函数:

private static void displayResults(String gender, int age)