Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2016, 12:05   #1
Viraele
 
Регистрация: 09.05.2016
Сообщений: 4
По умолчанию Не могу понять, что не так в коде

Здравствуйте. Пожалуйста, посмотрите, что не так в данном коде. Главная проблема: программа не дает вводить ответ на последний вопрос, только выводит его на экран.
Заранее большое спасибо.
Код программы:

Код:
import java.util.Scanner; 
class Chislo { 
public static void main(String[] args) { 
Scanner in = new Scanner(System.in); 
System.out.print ("1,1,2,3 Введите следующее число данной последовательности"); 
int b=in.nextInt(); 
int c= 5; 
if (b==c) { 
System.out.println("Верно . А в честь кого названа такая последовательность чисел? Ответ ввести в латинской раскладке с учетом регистра"); 
} else {
System.out.println("Неверно, попробуйте еще раз”);
}
Scanner d = new Scanner(System.in); 
String e= in.nextLine(); 
String f= "Fibonachi"; 

if (e.equals (f)) { 

System.out.println ("Вы выиграли!http://elementy.ru/trefil/21136/Chisla_Fibonachchi"); 
} else{
System.out.println ("Вы проиграли”)
} 

} 

}

Последний раз редактировалось Аватар; 09.05.2016 в 12:08.
Viraele вне форума Ответить с цитированием
Старый 16.06.2016, 11:03   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а это уже вообще никуда не годится!

Цитата:
А в честь кого названа такая последовательность чисел? Ответ ввести в латинской раскладке с учетом регистра
Цитата:
Код:
String f= "Fibonachi";
Программа будет проверять и требовать НЕВЕРНЫЙ ответ!

Правильный ответ: Fibonacci
( см. Leonardo Bonacci (c. 1170 – c. 1250)—known as Fibonacci and Leonardo of Pisa ....)

_
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.06.2016, 14:27   #3
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Даже если пропустить ошибку в имени ученого, то почему вы его имя считываете так:
Код:
String e= in.nextLine();
Я хоть в Java и не мастак, но кажется там надо использовать конструкцию что-то типо:
Код:
String e= System.in.readln();
Если меня конечно память не подводит.
И не совсем вник в суть использование сканера...
max_prorok вне форума Ответить с цитированием
Старый 16.06.2016, 15:11   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Да нет, в этом смысле всё верно, через Scanner именно так и нужно считывать.

только две ошибки.
1) не нужно создавать ещё один экземпляр сканера, нужно читать через тот, что был создан.

2) судя по обсуждению на StackOverFlow (тыц)
метод scanner.nextInt() не читает перевод каретки (carriage return), поэтому следующий scanner.nextLine() прочитает пустую строку.
исправить это можно просто вызвав метод scanner.nextLine() после scanner.nextInt()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.06.2016, 15:55   #5
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Да нет, в этом смысле всё верно, через Scanner именно так и нужно считывать.
Ну ОК.
Правда где-то читал, что не рекомендуют использовать Scanner, но по каким причинам уже не вспомню.
max_prorok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять что не так(бинарное дерево) Stanislav94 Общие вопросы C/C++ 2 03.03.2013 18:20
Не могу понять,что в программе не так,язык Си Alina111 Общие вопросы C/C++ 6 19.01.2013 21:00
не могу понять что не так aferistz Общие вопросы C/C++ 5 23.09.2010 02:21
строки и файлы не могу понять,что не так((((( marina_sergina Общие вопросы C/C++ 4 11.05.2010 07:49
строки и файлы не могу понять,что не так(((( marina_sergina Помощь студентам 1 11.05.2010 00:38