Ошибка: не найден подходящий метод для длины (int) - PullRequest
0 голосов
/ 21 апреля 2020

Первый раз отправляю вопрос. Может быть, я просто идиот, который не видит проблемы, но кто-нибудь может определить, что не так с моим кодом ниже? Все остальное работает отлично. Но когда код завершает компиляцию, он говорит: «Ошибка: не найден подходящий метод для length (int)» для if (l.length (0)) и if (f.length (0)).

import java.util.Scanner;

  public class Project2 {
  public static void main(String[] args) {

    Scanner scnr = new Scanner(System.in);

    int salary;
    double savingsRate;
    double interestRate;
    int employmentYears;
    double retirementSavings;


    System.out.println("Enter input salary savings_rate interest_rate years_employed lastname firstname");

    salary = scnr.nextInt();
    savingsRate = scnr.nextDouble();
    interestRate = scnr.nextDouble();
    employmentYears = scnr.nextInt();
    String l = scnr.nextLine(); // Last Name
    String f = scnr.nextLine(); // First Name
    retirementSavings = employmentYears * savingsRate * salary * (1 + interestRate);

    if (salary < 0) {
        System.out.println("Salary is negative");
    }
    else if (salary > 1000000) {
        System.out.println("Error: Salary " + salary + "exceeds maximum 1000000.0");
    }
    else {
        System.out.println("Salary: " + salary);
    }

    if (savingsRate < 0) {
        System.out.println("Savings rate is negative");
    }
    else if (savingsRate > 0.5) {
        System.out.println("Error: Savings rate " + savingsRate + "exceeds maximum 0.5");
    }
    else {
        System.out.println("Savings Rate:" + savingsRate);
    }

    if (interestRate < 0) {
        System.out.println("Interest Rate is negative");
    }
    else if (interestRate > 0.25) {
        System.out.println("Error: Interest Rate " + interestRate + "exceeds maximum 0.25");
    }
    else {
        System.out.println("Interest Rate: " + interestRate);
    }

    if (employmentYears < 0) {
        System.out.println("Years employed is negative!");
    }
    else if (employmentYears > 50) {
        System.out.println("Error: Years employed " + employmentYears + "exceeds maximum 50");
    }
    else {
        System.out.println("Years of Employment: " + employmentYears);
    }

    if (l.length(0)) {
       System.out.println("Error: Name too short");
    }
    else if (l == f) {
        System.out.println("Error: Last Name and First Name are the same");
    }
    else {
        System.out.println("Last Name: " + l);
    }

    if (f.length(0)) {
        System.out.println("Error: Name too short");
    }
    else {
        System.out.println("First Name: " + f);
    }

    System.out.println("Retirement Savings: " + retirementSavings);
  }
}

1 Ответ

0 голосов
/ 21 апреля 2020

Я думаю, что вы пытаетесь проверить, если имя пустое, я прав? у вас есть: 1) метод string.length (): length () является конечной переменной, которая применима для строковых объектов. Метод length () возвращает количество символов, представленных в строке. 2) array.length: length является окончательной переменной, применимой для массивов. С помощью переменной длины мы можем получить размер массива. (посетите geeksforgeeks , чтобы увидеть больше). Но у вас нет метода String.length (int).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...