Как сбросить программу после того, как она дала ответ - PullRequest
0 голосов
/ 17 октября 2018

Привет, у меня есть базовый код для расчета площади треугольника с помощью руководства.Затем я добавил небольшой код, чтобы сделать его более увлекательным, но я хочу, чтобы он сбрасывался после получения результата.Я хочу, чтобы программа сбросила значение «Ввести базу треугольника:» после завершения предыдущего вычисления с допустимым значением.Было бы хорошо, если бы он сбрасывался после (x) времени.

Просто я хочу, чтобы он нажал кнопку C в воображаемом калькуляторе после выполнения задачи.

Код:

import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;
public class TriangleArea {

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

    //declare variables to hold the base and height
    double base;
    double height;
    //Variables created. move on
    System.out.print("Enter the triangle's base: ");
    base = sc.nextDouble();
    //Base has been declared and filled in
    System.out.print("Enter the triangle's height: ");
    height = sc.nextDouble();
    //Both variables are filled in
    double preArea = base * height;
    //now we need to divide by 2
    double Area = preArea / 2;
    //There we go. All variables are done, area has been calculated.
    System.out.println("The area of your triangle is: " + Area);

    int Outcome;

      if (Area <= 100) {
          System.out.println("Triangle's area is small");
      }

      if (Area <= 300) {
          System.out.println("Triangles size is medium");

      }
      if (Area >= 300) {
          System.out.println("Triangle's area is big");
      }

      else {

      }       

    }
 }

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы хотите использовать цикл while, который завершается, например, когда пользователь вводит «0» в качестве кода выхода.Вы можете использовать boolean, который инициализируется значением true и получает значение false, когда пользователь вводит код выхода.

import java.util.Scanner;

public class Main {
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {

        boolean repeat = true;
        while (repeat) {
            // declare variables to hold the base and height
            double base;
            double height;
            // Variables created. move on
            System.out.print("Enter the triangle's base (enter 0 to exit): ");
            base = sc.nextDouble();
            if (base == 0) {
                repeat = false;
                break;
            }
            // Base has been declared and filled in
            System.out.print("Enter the triangle's height (enter 0 to exit): ");
            height = sc.nextDouble();
            if (height == 0) {
                repeat = false;
                break;
            }
            // Both variables are filled in
            double preArea = base * height;
            // now we need to divide by 2
            double Area = preArea / 2;
            // There we go. All variables are done, area has been calculated.
            System.out.println("The area of your triangle is: " + Area);

            if (Area <= 100) {
                System.out.println("Triangle's area is small");
            }

            if (Area <= 300) {
                System.out.println("Triangles size is medium");

            }
            if (Area >= 300) {
                System.out.println("Triangle's area is big");
            }

            else {

            }

        }
        System.out.println("Bye bye");
}
}
0 голосов
/ 17 октября 2018

Я думаю, вам нужно сделать

while (true){

    your code 

    if (exit condition){
        break;
    }
}

Таким образом, ваша программа будет зацикливаться.

...