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

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

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2020, 12:28   #1
ShonZelno
 
Регистрация: 27.01.2020
Сообщений: 4
Вопрос Начал изучать Java по книге "Изучаем Java" за авторством Кэти Сьерра и Берт Бейтс. Проблема с игрой морской бой.

Застрял на 5 главе, где из 3 классов: SimpleDotCom, SimpleDotComGame и GameHelper, надо получить игру. Компилятор постоянно на что-то жалуется. Можете подсказать?


public class SimpleDotCom{
int[] locationCells;
int numOfHits=0;

public void setLocationCells(int[] locs){
locationCells = locs;
}

public String checkYourself(String stringGuess){
int guess=Integer.parseInt(stringGuess) ;
String result="Мимо";
for (int cell : locationCells){
if (guess == cell){
result = "Попал";
numOfHits++;
break;
}
}

if (numOfHits == locationCells.length){
result="Потопил";
}
System.out.println(result);
return result;
}
}


public static void main(String[] args){
int numOfGuesses = 0;
GameHelper helper = new GameHelper();

SimpleDotCom theDotCom = new SimpleDotCom();
int randomNum = (int) (Math.random()*5);

int[] locations = {randomNum,randomNum+1,randomNum+2} ;
theDotCom.setLocationCells(location s);
boolean isAlive = true;

while(isAlive == true){
String guess=helper.getUserImput("Введите число");
String result=theDotCom.checkYourself(gues s);
numOfGuesses++;
if (result.equals("Потопил")){
isAlive=false;
System.out.println("Вам потребовалось"+numOfGuesses+"попыто к(и)");
}
}
}


import java.io.*;
class GameHelper{
public String getUserImput(String prompt){
String inputLine=null;
System.out.print(prompt+" ");
try{
BufferedReader is=new BufferedReader(new InputStreamReader(System.in));
inputLine=is.readLine();
if (inputLine.length()==0) return null;
}catch (IOException e){
System.out.println("IOException: "+e);
}
return inputLine;
}
}
ShonZelno вне форума Ответить с цитированием
Старый 27.01.2020, 13:36   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Вы не внимательно изучаете книгу.
Начните сначала.
"Структура кода Java"
"Структура класса"
"Создание класса с методом main"
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 27.01.2020, 15:26   #3
ShonZelno
 
Регистрация: 27.01.2020
Сообщений: 4
По умолчанию

Desc, Действительно, спасибо. Попробовал запустить через IDEA всё хорошо заработало. Но при запуске через командную строку игра работает, но кириллица не отображается корректно. Что-то с кодировкой?
ShonZelno вне форума Ответить с цитированием
Старый 28.01.2020, 23:00   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Цитата:
Сообщение от ShonZelno Посмотреть сообщение
Что-то с кодировкой?
Верно. Кодировка определяется в среде разработки или в коде, если нет возможности указать в IDE.
Вот одна из многих полезных статей >>Java: Русские буквы и не только...<<
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите гуманитарию Сегодня утром, чисто как интересное хобби, начал изучать программирование, написал "Hello World" erebos Общие вопросы C/C++ 1 07.05.2014 07:24
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Проблема с игрой "Танчики" на C++ Builder batnik.com C++ Builder 2 03.05.2013 14:24
Калькулятор(Java). Проблема вычислительных кнопок с "продолжением" действия. KirkMETAL Помощь студентам 1 05.06.2010 17:55