我的名字是阿里,我刚开始在开放大学学习两个单元,所以我对Java完全不满意。我正在尝试使用以下代码进行编译,但是我从导师那里得到的支持不足是可怕的,我在房间里张开的几本书并没有帮助我开始。
我有一种方法可以回答一些问题:
public char[] methodA()
{
char[] alphas = {'s', 't', 'e', 'a', 'm'};
char temp = alphas[0];
int i = 0;
while (i < alphas.length - 1)//1
{
alphas[i] = alphas[i+1]; //2
i++;
}
alphas[alphas.length-1]=temp;
return alphas;
}
如何使用我的IDE成功编译?我试过把它放在我的'main'方法的语法中,但它不接受它。
这就是我现在所拥有的:
package openuniversity;
public class Main
{
public static void main(String[] args)
{
public static char[] methodA()
{
char[] alphas = {'s', 't', 'e', 'a', 'm'};
char temp = alphas[0];
int i = 0;
while (i < alphas.length - 1)//1
{
alphas[i] = alphas[i+1]; //2
i++;
}
alphas[alphas.length-1]=temp;
return alphas;
}
}
}
感谢任何可以提供帮助的人。 阿里
答案 0 :(得分:2)
所有方法都必须包含在一个类中。如果你的IDE已经为你生成了这个,那么你应该能够使它成为你的main方法的兄弟,如下所示:
public class Foo {
public static void main(String[] args) {
// Your main method code goes here
}
public char[] methodA() {
char[] alphas = {'s', 't', 'e', 'a', 'm'};
char temp = alphas[0];
int i = 0;
while (i < alphas.length - 1)//1
{
alphas[i] = alphas[i+1]; //2
i++;
}
alphas[alphas.length-1]=temp;
return alphas;
}
}
如果您希望通过主要方法拨打methodA
,则需要:
Foo
类型的新对象(通过说Foo x = new Foo()
)
然后在你创建的对象上调用方法(通过说
x.methodA()
)methodA
,将public
static char[] methodA()
更改为静态,然后静态调用该方法(通过说Foo.methodA()
)答案 1 :(得分:1)
为了能够在public static void main(String [] args)
内调用它,如果它位于main
所在的同一个类中,则应将方法声明为static
。
public class Main{
public static void main(String[] args){
methodA();
}
public static char[] methodA(){
// Your code here
}
}
答案 2 :(得分:0)
首先要做的事情:在Java上,方法总是在一个类中,包括main
:
class SomeClass {
public static void main(String[] args) {
// This is the main method, this is invoked when
//you execute the compiled class on your IDE
methodA();
}
public static char[] methodA() {
// Insert your logic here
}
}
了解我如何将methodA
更改为static
?那是因为静态方法只能访问其他静态方法,变量或常量。如果您不希望它是静态的,您可以这样做:
class SomeClass {
public static void main(String[] args) {
// This is the main method, this is invoked when
//you execute the compiled class on your IDE
SomeClass someClass = new SomeClass();
someClass.methodA();
}
public char[] methodA() {
// Insert your logic here
}
}
答案 3 :(得分:0)
你无法在Java中将方法定义为另一个方法,所有方法都在同一级别的类中,但是(我重复一遍)你不能将方法放在另一个方法中。 一般例子:
public class MyClass{
public static void main (String[]args){//main method
}
public static void method1(){
//method corpse
}
public static int method2(int x){
//method corpse
}
public static char[] methodA(){
//method corpse
}
}