如何使用while循环要求程序在最后再试一次?

时间:2015-07-01 20:48:04

标签: java

我正在尝试使用 while循环 将这两个独立的程序合并为一个我现在已经尝试了一个星期但是仍然无法弄清楚把“你想再试一次(是/否)?”环。任何帮助或提示都可以..

首先单独的工作程序:

它会要求用户输入三个整数。起始编号,大于起始编号的结束编号和步骤编号。

import java.util.Scanner;
public class sample {

    public static void main(String args[]){
        Scanner in = new Scanner(System.in);

    String input;
        int first , second , third ;

        System.out.print("First number: ");
        input = in.nextLine();
        first = Integer.parseInt(input);
        System.out.print("Second number:: ");
        input = in.nextLine();
        second = Integer.parseInt(input);
        System.out.print("Third number: ");
        input = in.nextLine();
        third = Integer.parseInt(input);

        while(first <= second)
        {
            first = second + third;
            System.out.println(first);

        }
    }
}

示例输出:

开始:1

结束:10

步骤:2

1

3

5

7

9

第二次独立工作计划:

它会要求用户再试一次。

import java.util.Scanner;

public class sample {

    public static void main(String args[]){
        Scanner in = new Scanner(System.in);

    char c = 'y';

    while (c == 'y')
       {
            System.out.println("C");
            System.out.print("Do you wish to continue? ");
            c = in.next().toLowerCase().charAt(0);

        }
    }
}

示例输出:

你想再试一次(是/否)? Ñ

我正试图获得这样的输出:

开始:1

结束:10

步骤:2

1

3

5

7

9

你想再试一次(是/否)? Ñ

如果我输入'y',它应该从一开始就让我回来并让我输入开始,结束和步骤。如果我输入'n',它应该终止程序。 ...仅使用 while循环组合两者。

2 个答案:

答案 0 :(得分:1)

您需要简单地将第一个程序包装在第二个程序的循环中。如果将第一个程序的操作分成单独的方法,将会更清楚一点。结果可能是这样的:

public class TheProgram {
    private static Scanner in = new Scanner(System.in);

    private static void interact() {

        String input;
        int first , second , third ;

        System.out.print("First number: ");
        input = in.nextLine();
        first = Integer.parseInt(input);
        System.out.print("Second number:: ");
        input = in.nextLine();
        second = Integer.parseInt(input);
        System.out.print("Third number: ");
        input = in.nextLine();
        third = Integer.parseInt(input);

        while(first <= second)
        {
            first = second + third;
            System.out.println(first);

        }
    }

    public static void main(String args[]) {
        char c = 'y';

        while (c == 'y') {
            interact();
            System.out.print("Do you wish to continue? ");
            c = in.next().toLowerCase().charAt(0);
        }
    }
}

答案 1 :(得分:0)

为什么将它作为两个独立的程序?你应该在一个程序中执行它并使用一个bool设置为true的if循环,除非它们输入no,键入no将导致程序退出。