java - 如何使用方法更改变量值?有人可以给我一些提示来提高我的编码知识吗?
问题描述
我正在努力适应 Java。用 C++ 编程大约一年。我知道编程的基本部分 现在,我正在做一个简单的游戏,你选择一个数字,会生成两个随机数,如果选择的数字等于其中一个随机数,你就赢了,你会收到一些钱。休闲游戏。可悲的是,我不确定如何使用方法更改变量值。有人可以改进我的 Java 代码并告诉我为什么每次我继续玩游戏时我的价值都会恢复吗?有时,它甚至不会降低我的分值。很难迁移到不同的编程语言。对不起我的语言错误..
public static void main(String[] args) {
int array[] = {1,2,3,4,5,6,7,8,9,10};
int money = 100;
int moneyBet;
int selectedNumber;
int keepPlaying;
boolean game = true;
while(game) {
System.out.println("Choose a number between 1 and 10:");
Scanner input = new Scanner(System.in);
selectedNumber = input.nextInt();
System.out.println("Make a bet:");
moneyBet = input.nextInt();
foo(money, moneyBet, selectedNumber, array);
System.out.println("Keep playing? YES - 1, NO - 2");
keepPlaying = input.nextInt();
if(keepPlaying == 1) {
game = true;
} else {
game = false;
System.out.println("Game over");
}
}
}
public static void foo(int money, int moneyBet, int selectedNumber, int array[]) {
Random random = new Random();
int randArray[];
int randomNumber;
randArray = new int[2];
Scanner input = new Scanner(System.in);
if(money < moneyBet) {
System.out.print("Not enough money. Try again:");
moneyBet = input.nextInt();
}else {
money -= moneyBet;
}
boolean checkWin = false;
for(int i = 0; i < randArray.length; i++) {
randomNumber = random.nextInt(array.length);
randArray[i] = randomNumber;
}
for(int i = 0; i < randArray.length; i++) {
System.out.print(randArray[i] + " ");
}
for(int i = 0; i < randArray.length; i++) {
if(randArray[i] == selectedNumber) {
checkWin = true;
} else {
checkWin = false;
}
}
System.out.println();
if(checkWin) {
System.out.println("You won. You receive " + moneyBet * 2 + " money!");
System.out.println("Your money:" + money);
System.out.println("Keep playing? Y/N");
} else {
System.out.println("Try your luck next time..");
System.out.println("Your money:" + money);
}
}
解决方案
推荐阅读
- git - git checkout 错误,即使 git status 报告工作树是干净的
- sql - Oracle:真正的价值在 WHERE
- javascript - 如何将函数传播到 div 元素中?
- android - android:sharedUserId="android.uid.system" 从 SDCard 获取文件
- watson-iot - 可以管理设备,但仪表板中不再提供操作
- javascript - 页面加载时立即触发 IntersectionObserver 回调
- python-3.x - return value (Python best practices)
- salt-stack - 无法在 Salt 上应用状态文件
- postgresql - 以秒为单位截断所有查询的日期时间,但将毫秒存储在 Postgres 中
- bisection - 在R中找到根的二分法