又见面了,StackOverflow。我回来了,在我的代码中有一个新的问题。是的,这是为学校(高中)准备的。我的问题是。到目前为止,这是我的代码。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner moneyTime = new Scanner(System.in);
System.out.println("Hello world!");
int dep;
int with;
int balance = 1200;
int choice;
while(1 == 1)
{
System.out.println(" ");
System.out.printf("%s%d", "Current Balance: $", balance);
System.out.println(" ");
System.out.println("What would you like to do:");
System.out.println("Type 1 for [DEPOSIT]");
System.out.println("Type 2 for [WITHDRAWAL]");
System.out.println("Type 3 for [EXIT/FINAL]");
choice = moneyTime.nextInt();
if(choice == 1)
{
System.out.print("Amount: ");
dep = moneyTime.nextInt();
deposit(balance, dep);
System.out.println("Testing: " + balance);
}
else if(choice == 2)
{
System.out.print("Amount: ");
with = moneyTime.nextInt();
withdrawl(balance, with);
System.out.println("Testing2: " + balance);
}
else
{
exitORfinal();
}
}
static int deposit(int balance, int dep)
{
int balance1 = balance + dep;
return balance1;
}
static int withdrawal(int balance, int with)
{
int balance1 = balance - with;
return balance1;
}
static int exitORfinal
{
System.out.println("Testing Text to make sure thiworks");
}
}
}我在代码中遇到的问题是底部的静态不工作,并且打印出这些错误。
exit status 1
Main.java:46: error: illegal start of expression
static int deposit(int balance, int dep)
^
Main.java:46: error: ';' expected
static int deposit(int balance, int dep)
^
Main.java:46: error: <identifier> expected
static int deposit(int balance, int dep)
^
Main.java:46: error: not a statement
static int deposit(int balance, int dep)
^
Main.java:46: error: ';' expected
static int deposit(int balance, int dep)
^
Main.java:52: error: illegal start of expression
static int withdrawal(int balance, int with)
^
Main.java:52: error: ';' expected
static int withdrawal(int balance, int with)
^
Main.java:52: error: <identifier> expected
static int withdrawal(int balance, int with)
^
Main.java:52: error: not a statement
static int withdrawal(int balance, int with)
^
Main.java:52: error: ';' expected
static int withdrawal(int balance, int with)
^
Main.java:58: error: illegal start of expression
static int exitORfinal
^
Main.java:58: error: ';' expected
static int exitORfinal
^
12 errors
exit status 1
Main.java:46: error: illegal start of expression
static int deposit(int balance, int dep)
^
Main.java:46: error: ';' expected
static int deposit(int balance, int dep)
^
Main.java:46: error: <identifier> expected
static int deposit(int balance, int dep)
^
Main.java:46: error: not a statement
static int deposit(int balance, int dep)
^
Main.java:46: error: ';' expected
static int deposit(int balance, int dep)
^
Main.java:52: error: illegal start of expression
static int withdrawal(int balance, int with)
^
Main.java:52: error: ';' expected
static int withdrawal(int balance, int with)
^
Main.java:52: error: <identifier> expected
static int withdrawal(int balance, int with)
^
Main.java:52: error: not a statement
static int withdrawal(int balance, int with)
^
Main.java:52: error: ';' expected
static int withdrawal(int balance, int with)
^
Main.java:58: error: illegal start of expression
static int exitORfinal
^
Main.java:58: error: ';' expected
static int exitORfinal
^
12 errors我真的很困惑。我知道我可能遗漏了什么,或者我对一个明显的错误完全视而不见。我不知道该怎么做,我试了所有我知道的。我会问老师,但她确实是个笨蛋,即使我们问过其他学生,她也不会帮助任何人。
再次感谢你的帮助(如果我真的得到了任何帮助)。
发布于 2018-12-07 21:11:12
第一个你需要将你在main方法中创建的所有方法移出main方法,第二个你需要在exitORfinal静态方法中添加一些参数例如: exitORfinal() { ..} Third您必须将moneyBoi变量替换为moneyTime,因为您声明为moneyTime。Fourth必须将取款方法重命名为取款。
您的代码如下所示:
import java.util.Scanner;
class Main {
static int exitORfinal() {
System.out.println("Testing Text to make sure thiworks");
}
public static void main(String[] args) {
Scanner moneyTime = new Scanner(System.in);
System.out.println("Hello world!");
int dep;
int with;
int balance = 1200;
int choice;
while (1 == 1) {
System.out.println(" ");
System.out.printf("%s%d", "Current Balance: $", balance);
System.out.println(" ");
System.out.println("What would you like to do:");
System.out.println("Type 1 for [DEPOSIT]");
System.out.println("Type 2 for [WITHDRAWAL]");
System.out.println("Type 3 for [EXIT/FINAL]");
choice = moneyTime.nextInt();
if (choice == 1) {
System.out.print("Amount: ");
dep = moneyTime.nextInt();
deposit(balance, dep);
System.out.println("Testing: " + balance);
} else if (choice == 2) {
System.out.print("Amount: ");
with = moneyTime.nextInt();
withdrawl(balance, with);
System.out.println("Testing2: " + balance);
} else {
exitORfinal();
}
}
}
static int deposit(int balance, int dep) {
int balance1 = balance + dep;
return balance1;
}
static int withdrawl(int balance, int with) {
int balance1 = balance - with;
return balance1;
}
}发布于 2018-12-07 21:17:45
下面的代码如何:
import java.util.Scanner;
class Main {
static int deposit(int balance, int dep) {
return balance + dep;
}
static int withdrawl(int balance, int with) {
return balance - with;
}
static void exitORfinal() {
System.out.println("Testing Text to make sure thiworks");
}
public static void main(String[] args) {
Scanner moneyTime = new Scanner(System.in);
System.out.println("Hello world!");
int dep;
int with;
int balance = 1200;
int choice;
while (true) {
System.out.println(" ");
System.out.printf("%s%d", "Current Balance: $", balance);
System.out.println(" ");
System.out.println("What would you like to do:");
System.out.println("Type 1 for [DEPOSIT]");
System.out.println("Type 2 for [WITHDRAWAL]");
System.out.println("Type 3 for [EXIT/FINAL]");
choice = moneyTime.nextInt();
if (choice == 1) {
System.out.print("Amount: ");
dep = moneyTime.nextInt();
deposit(balance, dep);
System.out.println("Testing: " + balance);
} else if (choice == 2) {
System.out.print("Amount: ");
with = moneyTime.nextInt();
withdrawl(balance, with);
System.out.println("Testing2: " + balance);
} else {
exitORfinal();
}
}
}
}我认为将这些静态方法放在main方法之前会更好。
发布于 2018-12-07 21:26:01
简单地说就是:你的各种方法(exitORfinal,withdrawal,deposit)的声明都在你的main方法的声明中。在java中,方法不能在另一个方法体中定义,你必须将它们移到你的类体中。
另外,我可以建议您使用高效的集成开发环境(Eclipse、Netbeans,或者任何带有VSCode或SublimeText等Java插件的像样的编辑器)吗?它会很好地强调这个问题,甚至会提出修复建议。
https://stackoverflow.com/questions/53670108
复制相似问题