决定最近学习一点java并且我在第一个障碍时被困住了。这是我非常基本的代码:
import java.util.Scanner;
class helloWorld{
public static void main(String[] args){
Scanner user_input = new Scanner(System.in);
int a = 50;
String first_name;
String last_name;
public static int funcName(int a, int b) {
}
}
}
据我所见,没有错误。但是,在编译时我收到此错误:
Dominics-MacBook-Pro:helloworld dominicsore$ javac helloworld.java
helloworld.java:12: error: illegal start of expression
public static int funcName(int a, int b) {
^
helloworld.java:12: error: illegal start of expression
public static int funcName(int a, int b) {
^
helloworld.java:12: error: ';' expected
public static int funcName(int a, int b) {
^
helloworld.java:12: error: '.class' expected
public static int funcName(int a, int b) {
^
helloworld.java:12: error: ';' expected
public static int funcName(int a, int b) {
^
helloworld.java:12: error: ';' expected
public static int funcName(int a, int b) {
^
6 errors
我进行了搜索和搜索,所有常见的回答都是错别字和错位的括号,但据我所知,事实并非如此。
不确定它是否有任何区别,但我在Mac上,使用vim编辑器,我正在从终端进行编译。
感谢任何建议。
答案 0 :(得分:3)
funcName
正在主方法中定义,它必须在它之外:
import java.util.Scanner;
class helloWorld{
public static void main(String[] args){
Scanner user_input = new Scanner(System.in);
int a = 50;
String first_name;
String last_name;
}
public static int funcName(int a, int b) {
}
}
答案 1 :(得分:1)
您无法在其他方法中声明方法。将funcName
移到main
方法之外:
import java.util.Scanner;
class helloWorld{
public static void main(String[] args){
Scanner user_input = new Scanner(System.in);
int a = 50;
String first_name;
String last_name;
//do something more here, probably to call
//to your funcName method
}
public static int funcName(int a, int b) {
//method implementation
//since it doesn't return anything (yet), I add this line
//just for compilation purposes
return 0;
}
}