Мне нужно написать код для класса. Это следующие требования:Изменение переменных с использованием пользовательского ввода
Один класс должен быть контроллером с основным методом.
Другой класс должен:
- сделать какое-то действие
- пропуск в переменных
- использование по крайней мере один, если заявление
- имеют частные методы
- есть некоторые методы получения и установки.
Я сделал большую часть этого. Я столкнулся с проблемой, когда я хочу, чтобы пользователь набрал «Go Forward», а затем для того, чтобы выносливость уменьшилась на пять и появилось сообщение в солоине, в котором говорилось: «Вы теряете 5 выносливости». Кроме того, я хотел бы, чтобы пользователь мог набирать «Rest», а для выносливости - на 5 (ограничение на 100, а для консоли можно сказать, «Выносливость увеличена до #».
Я не знаю Однако, когда я что-то пробовал, я получаю сообщение об ошибке.
Если у меня есть что-то, что мне не нужно, тогда скажите мне, что это такое и почему я должен удалите его. Если есть что-то общедоступное и не нужно, расскажите мне, почему этого не должно быть. Мой учитель говорит, что позже будет выведено 5 баллов за каждый раз, когда что-то открыто,
Введите код:
Controller Класс:
import java.io.*;
import java.util.Scanner;
public class Controller {
public static void main(String[] args){
System.out.println("Type your name here:");
Scanner scan = new Scanner(System.in);
String input = scan.nextLine();
Player playerOne = new Player(input);
playerOne.setStrength(78);
playerOne.setHealth(99);
playerOne.setStamina(67);
playerOne.printplayer();
System.out.println("Type 'Go Forward' to move forward");
Scanner mscan = new Scanner(System.in);
//mscan = movement scan
String minput = scan.nextLine();
if(minput.equals("Go Forward"))
//minput = movement input
System.out.println("You lose 5 stamina.");
//Getting an error here : 'stamina cannot be resolved to a variable'
System.out.println("Stamina: " + stamina);
if(minput.equals("Rest"))
//Getting an error here : 'stamina cannot be resolved to a variable'
System.out.prinln("Stamina has been increased to " + stamina);
scan.close();
}
}
А Класс игрока:
import java.util.Scanner;
public class Player{
public String name;
private String input;
private double health;
public double strength;
public double stamina;
//Player Name
public Player (String input){
name = input;
}
//Player Health
public void setHealth(double playHp){
health = playHp;
}
//Player Strength
public void setStrength(double playStrn){
strength = playStrn;
}
//Player Stamina
public void setStamina(double playStam){
stamina = playStam;
}
public void printplayer(){
System.out.println("name : " + name);
System.out.println("Health :" + health);
System.out.println("Strength :" + strength);
System.out.println("Stamina :" + stamina);
}
private void reduceStamina() {
int stamina;
}
public int getStamina() {
return 0;
}
}
System.out.println("Type 'Go Forward' to move forward");
Scanner mscan = new Scanner(System.in);
//mscan = movement scan
String minput = scan.nextLine();
if(minput.equals("Go Forward"))
//minput = movement input
System.out.println("You lose 5 stamina.");
//Getting an error here : 'stamina cannot be resolved to a variable'
System.out.println("Stamina: " + stamina);
if(minput.equals("Rest"))
//Getting an error here : 'stamina cannot be resolved to a variable'
System.out.prinln("Stamina has been increased to " + stamina);
scan.close();
}
}
'«. Я не знаю, как увеличить/уменьшить выносливость, хотя Когда я пытаюсь что-то, я получаю ошибку»' - Пожалуйста, покажите, что вы пробовали, и все сообщения об ошибках, которые это вызывает. Иначе мы не будем знать, что вы можете делать неправильно, или какие неправильные предположения вы могли бы сделать. –
'stamina' - поле' Player', вы должны предоставить метод 'getStamina' в вашем классе' Player' и использовать 'playerOne.getStamina()', если вы хотите его отобразить. – MadProgrammer
@MadProgrammer вы правы, но он поставил выносливость публике, чтобы не было похоже на общую проблему. Это неправильно, но это не приведет к ошибке, как он. – lacraig2