【问题标题】:How do I make this loop such that the output is the same as the input unless i press "end" then the programme ends?如何使这个循环使输出与输入相同,除非我按“结束”然后程序结束?
【发布时间】:2020-05-11 21:23:33
【问题描述】:

您好,我是 java 编程新手,我有这段代码,我想知道如何让它运行,直到我输入“end”然后它停止。 任何人都可以帮忙吗?一直报错

public static void main(String [] args){

    String code_trigger_starter_str = "start";
    String code_trigger_ender_str = "end";
    //boolean program_running_bool = false;

    Scanner kybd_inpt = new Scanner(System.in);
    String kybd_input_str = kybd_inpt.nextLine();


    re_run_word_input(code_trigger_starter_str,code_trigger_ender_str);

//  exit_code(code_trigger_ender_str);

    }


private static void re_run_word_input(String code_trigger_starter_str,String code_trigger_ender_str) {
    //boolean program_running_bool = true;

    System.out.println("Enter a word");
    Scanner kybd = new Scanner(System.in);
    String kybd_new_word = kybd.nextLine();


    //if(kybd_input_str.equals(code_trigger_starter_str));{

    //System.out.println(kybd_new_word);


        if(!kybd_new_word.equals(code_trigger_ender_str)) {
        System.out.println(kybd_new_word);
        }
        else {
            if   (kybd_new_word.equals(code_trigger_ender_str)) {

            System.out.println("Program ended");
            }
        }
    }

【问题讨论】:

  • 错误是什么? (将其附加到问题中)
  • 它工作正常,但我需要它循环运行。

标签: java loops for-loop if-statement while-loop


【解决方案1】:

我找到了一个可行的解决方案。我使用了一个 do while 循环。

导入 java.util.Scanner;

公开课 WeekendAssignment {

public static void main(String [] args){

    //Initialize start and end variables
    String code_trigger_starter_str = "start";
    String code_trigger_ender_str = "end";

    // receive start input in string kybd_input_str
    Scanner kybd_inpt = new Scanner(System.in);
    String kybd_input_str = kybd_inpt.nextLine();


    //using do-while loop to run the method continuously
    do {
    re_run_word_input(code_trigger_starter_str,code_trigger_ender_str);
    }
    while (true);


    }

//create a new method to receive new words input and output the new word
private static void re_run_word_input(String code_trigger_starter_str,String code_trigger_ender_str) {

    //Tell user to input a word
    System.out.println("Enter a word");
    Scanner kybd = new Scanner(System.in);
    String kybd_new_word = kybd.nextLine();

    //set condition using if and else statements

        if(!kybd_new_word.equals(code_trigger_ender_str)) {
        System.out.println(kybd_new_word);
        }
        else {// if user inputs "end" code has to terminate
            if   (kybd_new_word.equals(code_trigger_ender_str)) {

            System.out.println("Program ended");
            System.exit(0);


            }

        }

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2022-11-30
    相关资源
    最近更新 更多