Я буквально знаю и разбираюсь в java прямо сейчас, и я пишу программу, которая помогает записывать ID пациентов в больнице, сначала я покажу весь код, а затем я расскажу, где вы, вот код

package hospitalsrecord;
import java.util.*;
import java.io.*;
public class HospitalsRecord {
public static Scanner read = new Scanner(System.in);
public static ArrayList nameList = new ArrayList();
public static ArrayList patientAge = new ArrayList();
public static ArrayList Disease = new ArrayList();
public static ArrayList dateHospitalized = new ArrayList();
public static ArrayList roomNumber = new ArrayList();
//adding patient function
    public static void AddNewPatient () {  
    //Ask patient's name
    System.out.println("Please enter patient's name:");
    String patientName = read.next();
    //Ask Patient's age
    System.out.println("Please enter patient's age:");
    int age = read.nextInt();   
    //Ask patient's illness
    System.out.println("Please enter patient's Disease name (also include accidents eg. Leg broke by Car Accident):");
    String illness = read.next();    
    //Ask patient Hospitalized date
    System.out.println("Please enter patient's Hospitalized date(Total days not included):");
    String HPTLdate = read.next();    
    //Ask patient's room number
    System.out.println("Please enter patient's hospitalize room number(3 degits):");
    int HRN = read.nextInt();
    //Confirmation
    System.out.println("Doctor, would you like to confirm the following(y/n)?");
    System.out.println("Name:" + patientName);
    System.out.println("Age:" + age);
    System.out.println("Disease:" + illness);
    System.out.println("Date Hospitalized (HPTLD):" + HPTLdate);
    System.out.println("Room Number:" + HRN);
    String Confirm = read.next();
    if (Confirm.equals("y")) {
      nameList.add(patientName);
    patientAge.add(age);
    Disease.add(illness);
    dateHospitalized.add(HPTLdate);
    roomNumber.add(HRN);
    } else {
        AddNewPatient();
    }
    }
    //Searching patient that listed
    public static void searchPatient (){

    }
    //remove the patient function
    public static void removePatient() {

    }
    //text printing function when strat the program
    public static void selectorPage(){
        System.out.println("Hello Doctor, welcome to Hospital Recorder v1.0.0");
        System.out.println("If you want to add new patient into this recorder type: 'add' in the next blank line line");
        System.out.println("If you want to search the patient list type: 'search' in the next blank line");
        System.out.println("And, if you want to remove the patient that was out of hospitalizing type: 'remove' in the next blank line");
        option = read.next();
    }
    //text printing simmilar to selecterPage function but perform after function
    public static void selecterPageAfterAction() {
        System.out.println("Your action has been performed, doctor");
        System.out.println("Would you like to perform another action?(y/n)");
       choiceSelection = read.next();
       if (choiceSelection.equals("y")){
        System.out.println("If you want to add new patient into this recorder type: 'add' in the next blank line line");
        System.out.println("If you want to search the patient list type: 'search' in the next blank line");
        System.out.println("And, if you want to remove the patient that was out of hospitalizing type: 'remove' in the next blank line");
        option = read.next();
       }  
    }
    //Selection var
    public static String option;
    public static String choiceSelection;
    //Main program
    public static void main(String[] args) {
        selectorPage();
        switch (option) {
            case("add"): {
                AddNewPatient();
                break;
            }
            case("search"):{
                searchPatient();
                break;
            }
            case("remove"):{
                removePatient();
                break;
            }
            case("end"):{
                break;
            }
            default: {
                System.out.println("Please enter the indentified option");
                break;
            }
        }
        if (option.equalsIgnoreCase("end")){

        }
    }

}

Я надеюсь, вы, ребята, можете прочитать каждую строчку, потому что это было так сложно, но для тех, кто может прочитать все, я знаю, вы скажете, что мне все еще нужно больше времени для тяжелой работы, не волнуйтесь, я потратить некоторое время , чтобы получить большинство знаний от вас, ребята, во-первых, но по-прежнему работает над программой для завершения во время ожидания ответа ! в любом случае, я хочу, чтобы вы, ребята, сосредоточились на этом моменте:

if (option.equalsIgnoreCase("end")){

    }

Возможно, он слишком пустой, потому что я только что добавил его, пока работаю над ним. Итак, я хочу знать, что в операторе if я набираю option.equalsIgnoreCase ("end"). Объясняю ли я компьютеру, что он должен делать следующее?

1. Сравните параметры переменной String со строкой "end"?

2.Скажите компьютеру выполнить действие внутри оператора if, когда параметр String не был словом end?

И скажите, пожалуйста, как работает этот метод, я не совсем понимаю. Я понимаю так: «Он сравнивает две строки, если они не совпадают, тогда результат верный» Я знаю, что мое объяснение неверно, не могли бы вы мне помочь? еще раз спасибо за помощь, если можете.

0
Anakin771 19 Апр 2016 в 08:35

2 ответа

Лучший ответ

Option.equalsIgnoreCase ("end") - equalsIgnoreCase игнорирует, является ли строка строчными или прописными.

Таким образом, он войдет в блок if только тогда, когда переменная option имеет конец или END.

Ваше первое предположение верно, вы просите сравнить String, равна ли она end. Но второй неверен, из приведенного выше кода он будет вводить и выполнять операторы, присутствующие внутри, если только когда опция end / END.

Если вы хотите войти внутрь блока If, когда параметр не является концом, добавьте не такой if (! Option.equalsIgnoreCase ("end")).

Надеюсь, это развеет ваши сомнения!

0
BhanuReddy 19 Апр 2016 в 06:04

Класс String имеет два метода для сравнения одной строки с другой.

См. Пример ниже:

public static void main(String[] args) {

    String str1 = "beer";
    String str2 = "Beer";

    System.out.println(str1.equals(str2));
    System.out.println(str1.equalsIgnoreCase(str2));                
}

Первый метод equals() сравнивает str1 и str2 и принимает во внимание случай. Следовательно, первое сравнение приводит к false, что означает, что пиво не равно пиву.

Второй метод equalsIgnoreCase() делает то же самое, за исключением того, что он не чувствителен к регистру. Результатом этого сравнения является true, что означает «без учета регистра, пиво - это та же строка, что и пиво».

Надеюсь это поможет.

0
Fortun 19 Апр 2016 в 05:53