在方法之外声明整数? import java.util.Scanner; 公共类输入测试{ 静态虚空怪物(){ System.out.println(“你遇到了一个怪物!”); 系统输出println(“他造成了10点伤害!”); 健康-=10; System.out.println(“您有“+health+”health left!”); } 静空药水(){ System.out.println(“你碰上了药剂!”); System.out.println(“它治愈了10点伤害!”); 健康+=10; System.out.println(“您有“+health+”health left!”); } 静态真空袋(){ System.out.println(“你撞到一个包里了!”); System.out.println(“它什么都没做!”); } 静态空洞随机(){ double random=Math.random(); if(random>=0&&random=0.24&&random
将health设置为类级静态变量在方法之外声明整数? import java.util.Scanner; 公共类输入测试{ 静态虚空怪物(){ System.out.println(“你遇到了一个怪物!”); 系统输出println(“他造成了10点伤害!”); 健康-=10; System.out.println(“您有“+health+”health left!”); } 静空药水(){ System.out.println(“你碰上了药剂!”); System.out.println(“它治愈了10点伤害!”); 健康+=10; System.out.println(“您有“+health+”health left!”); } 静态真空袋(){ System.out.println(“你撞到一个包里了!”); System.out.println(“它什么都没做!”); } 静态空洞随机(){ double random=Math.random(); if(random>=0&&random=0.24&&random,java,variables,integer,declaration,Java,Variables,Integer,Declaration,将health设置为类级静态变量 import java.util.Scanner; public class InputTest { static void monster() { System.out.println("You ran into a monster!"); System.out.println("He did 10 damage!"); health -= 10; System.out.println("You have " + hea
import java.util.Scanner;
public class InputTest {
static void monster() {
System.out.println("You ran into a monster!");
System.out.println("He did 10 damage!");
health -= 10;
System.out.println("You have " + health + " health left!");
}
static void potion() {
System.out.println("You ran into a potion!");
System.out.println("It healed 10 damage!");
health += 10;
System.out.println("You have " + health + " health left!");
}
static void bag() {
System.out.println("You ran into a bag!");
System.out.println("It did... Nothing!");
}
static void random() {
double random = Math.random();
if(random >= 0 && random <= 0.33) {
monster();
} else if(random >= 0.24 && random <= 0.66) {
potion();
} else {
bag();
}
}
static void turn() {
System.out.println("Do you want to go left or right?");
Scanner turn = new Scanner(System.in);
String leftOrRight = turn.nextLine();
if(leftOrRight.equals("Right")) {
System.out.println("You turned right and...");
random();
} else if(leftOrRight.equals("Left")){
System.out.println("You turned left and...");
random();
} else {
System.out.println("You entered an invalid answer...");
System.exit(0);
}
}
public static void main(String[] args) {
int health = 50;
for(int i = 0; i < 10; i++) {
turn();
}
System.out.println("You won!");
}
}
请尝试以下代码:
import java.util.Scanner;
public class InputTest {
private static int health = 50;
/*rest of the methods as they are*/
}
import java.util.Scanner;
公开课考试{
私有静态int-health=50;
公共静态void main(字符串[]args){
对于(int i=0;i<10;i++){
转动();
}
System.out.println(“你赢了!”);
}
静态虚空怪物(){
System.out.println(“你遇到了一个怪物!”);
系统输出println(“他造成了10点伤害!”);
健康-=10;
System.out.println(“您有“+health+”health left!”);
}
静空药水(){
System.out.println(“你碰上了药剂!”);
System.out.println(“它治愈了10点伤害!”);
健康+=10;
System.out.println(“您有“+health+”health left!”);
}
静态真空袋(){
System.out.println(“你撞到一个包里了!”);
System.out.println(“它什么都没做!”);
}
静态空洞随机(){
double random=Math.random();
如果(随机>=0&&random=0.24&&random,请参见下面修改的代码
import java.util.Scanner;
public class Test {
private static int health = 50;
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
turn();
}
System.out.println("You won!");
}
static void monster() {
System.out.println("You ran into a monster!");
System.out.println("He did 10 damage!");
health -= 10;
System.out.println("You have " + health + " health left!");
}
static void potion() {
System.out.println("You ran into a potion!");
System.out.println("It healed 10 damage!");
health += 10;
System.out.println("You have " + health + " health left!");
}
static void bag() {
System.out.println("You ran into a bag!");
System.out.println("It did... Nothing!");
}
static void random() {
double random = Math.random();
if (random >= 0 && random <= 0.33) {
monster();
} else if (random >= 0.24 && random <= 0.66) {
potion();
} else {
bag();
}
}
static void turn() {
System.out.println("Do you want to go left or right?");
Scanner turn = new Scanner(System.in);
String leftOrRight = turn.nextLine();
// turn.close();
if (leftOrRight.equals("Right")) {
System.out.println("You turned right and...");
random();
} else if (leftOrRight.equals("Left")) {
System.out.println("You turned left and...");
random();
} else {
System.out.println("You entered an invalid answer...");
System.exit(0);
}
}
}
import java.util.Scanner;
公共类输入测试{
私有静态int-health=50;
静态虚空怪物(){
System.out.println(“你遇到了一个怪物!”);
系统输出println(“他造成了10点伤害!”);
健康-=10;
System.out.println(“您有“+health+”health left!”);
}
静空药水(){
System.out.println(“你碰上了药剂!”);
System.out.println(“它治愈了10点伤害!”);
健康+=10;
System.out.println(“您有“+health+”health left!”);
}
静态真空袋(){
System.out.println(“你撞到一个包里了!”);
System.out.println(“它什么都没做!”);
}
静态空洞随机(){
double random=Math.random();
如果(random>=0&&random=0.24&&random使health
成为一个全局变量。因此,在monster方法上方,执行public int health=50;
。您可以让这些方法使用main中定义的health。然后为health
@Ascalonian No.创建一个getter/setter。使health
成为一个静态类参数。静态int thealth=50;
@MikeCAT-为什么要将其设置为静态?@Ascalonian,因为它是从静态函数中使用的,没有创建实例。嗨,德里克,欢迎使用SO。请以后尝试发布一个。这会让其他人更容易回答您的问题。静态变量
-所以请这么做谢谢大家,它现在可以工作了,只需稍作调整。(:@ScaryWombat为什么在这里需要static?因为从静态方法调用它。
import java.util.Scanner;
public class InputTest {
private static int health = 50;
static void monster() {
System.out.println("You ran into a monster!");
System.out.println("He did 10 damage!");
health -= 10;
System.out.println("You have " + health + " health left!");
}
static void potion() {
System.out.println("You ran into a potion!");
System.out.println("It healed 10 damage!");
health += 10;
System.out.println("You have " + health + " health left!");
}
static void bag() {
System.out.println("You ran into a bag!");
System.out.println("It did... Nothing!");
}
static void random() {
double random = Math.random();
if (random >= 0 && random <= 0.33) {
monster();
} else if (random >= 0.24 && random <= 0.66) {
potion();
} else {
bag();
}
}
static void turn() {
System.out.println("Do you want to go left or right?");
Scanner turn = new Scanner(System.in);
String leftOrRight = turn.nextLine();
if (leftOrRight.equals("Right")) {
System.out.println("You turned right and...");
random();
} else if (leftOrRight.equals("Left")) {
System.out.println("You turned left and...");
random();
} else {
System.out.println("You entered an invalid answer...");
System.exit(0);
}
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
turn();
}
System.out.println("You won!");
}
}