Цикл должен выпоняться пока не введено n<0

179
18 мая 2018, 04:10

Примитивный таск, но всё же...

Вводится число и выводится такое же количество астерикcов. Если введено отрицательное число, программа останaвливается.

public void aster(){
Scanner sc= new Scanner(System.in);
  System.out.print("Input n:");
  boolean b = true;
  int n = sc.nextInt();
  while(b){
    if (n>0) {
      for (int i = 0; i < n; i++) {
        System.out.print("*");
      }
    } else {
      System.out.println("Program terminated");
      b=false;
    }
  } // while(b)

проблема в том, что цикл должен продолжаться пока не введено отрицательное число. Но у меня либо останавливается после первого ввода, либо как в вышеописанном коде, вообще не выполняется.

Answer 1

n должна запрашивать ввод в самом цикле, а у тебя программа опросит один раз n (если делать как ты писал). Пробуй так, все работает:

import java.util.Scanner;
public class nTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean b = true;
        int n;
        while (b) {
            System.out.print("Input n: ");
            n = sc.nextInt();
            if (n > 0) {
                for (int i = 0; i < n; i++) {
                    System.out.println("*");
                }
            } else {
                System.out.println("Program terminated");
                b = false;
            }
        }
    }
}
Answer 2

Нет смысла вводить переменну b. Завайте условие завершения цикла. Перед циклом for делать проверку так же бессмысленно, т.к. если n не будет положительным, то ничего не выведется.

public static void main(String[] args) {
   Scanner sc = new Scanner(System.in);
   int n = 0;
   while (n >=0 ) {
      System.out.print("Input n: ");
      n = sc.nextInt();
      for (int i = 0; i < n; i++) {
         System.out.println("*");
      }
    }
    System.out.println("Program terminated");
}
READ ALSO
Как преобразовать записи из экселя в классы с полями?

Как преобразовать записи из экселя в классы с полями?

Есть электронная таблица, в первом столбце идут наименования классов, во втором - в ячейкаx прописаны поля классовКаким образом можно считать...

194
Spring-boot. Создание таблиц по запросу

Spring-boot. Создание таблиц по запросу

Я работаю со Spring boot и JPA/HibernateУ меня есть 2 типа таблиц:

179
DynamoDBMapper не сохраняет данные

DynamoDBMapper не сохраняет данные

DynamoDBMapper не сохраняет данные, поток блокируется на save()База данных локальная (downloadable version)

176
Unable to build Hibernate SessionFactory

Unable to build Hibernate SessionFactory

Подключается к базе postgres нормально, на сервере данный код отрабатывает без проблем, у меня на локальной машине такая проблема!

466