Java 未知方法foo的输出
这段代码的输出是什么?用它来准备即将到来的考试:Java 未知方法foo的输出,java,output,Java,Output,这段代码的输出是什么?用它来准备即将到来的考试: public void print(int[] nums) { for (int i = 0; i < nums.length; ++i) System.out.print(nums[i] + " "); System.out.println("\n"); } public void foo(int[] nums) { this.print(nums); for (int i = 0; i
public void print(int[] nums)
{
for (int i = 0; i < nums.length; ++i)
System.out.print(nums[i] + " ");
System.out.println("\n");
}
public void foo(int[] nums)
{
this.print(nums);
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < (nums.length - 1); ++j)
if (nums[j] > nums[j + 1])
{
int tmp = nums[j];
nums[j] = nums[j + 1];
nums[j+ 1] = tmp;
}
System.out.print(i + ": ");
this.print(nums);
}
}
我自己尝试运行它,但无法将其编译,一直收到“找不到方法foo”错误。我看不到代码示例中的起始点,所以请确保您在IDE控制台中看不到任何输出:)只需创建类,让我们将其称为“ATest”,添加main方法和构造函数即可
ATest(){
foo(nums);
}
public static void main(String [] args){new ATest();}
…您不能直接从主方法调用foo方法,因为foo方法不是静态的
但下次请务必阅读更多教程
运气好你需要一个主方法,一个程序的入口点 还将foo方法封装在一个类中,以便能够调用它
public static void main(String[] args)
{
int[] nums = {9, 5, 8, 4, 2, 7, 3, 6, 1};
foo(nums);
}
因此,您的期末考试将如下所示:
public class Test{
public Test()
{
}
public void print(int[] nums)
{
for (int i = 0; i < nums.length; ++i)
System.out.print(nums[i] + " ");
System.out.println("\n");
}
public void foo(int[] nums)
{
this.print(nums);
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < (nums.length - 1); ++j)
if (nums[j] > nums[j + 1])
{
int tmp = nums[j];
nums[j] = nums[j + 1];
nums[j+ 1] = tmp;
}
System.out.print(i + ": ");
this.print(nums);
}
}
public static void main(String[] args)
{
int[] nums = {9, 5, 8, 4, 2, 7, 3, 6, 1};
Test t = new Test();
test.foo(nums);
}
}
公共类测试{
公开考试()
{
}
公共作废打印(整数[]nums)
{
对于(int i=0;inums[j+1])
{
int tmp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=tmp;
}
系统输出打印(i+“:”);
本.打印(nums);
}
}
公共静态void main(字符串[]args)
{
int[]nums={9,5,8,4,2,7,3,6,1};
测试t=新测试();
test.foo(nums);
}
}
如果您对代码进行格式化和缩进,您将立即看到问题。@leppie我尝试了所有方法,甚至重写了它,这是最后的帮助手段。我在代码中找不到主类!!!可能这就是这里的错误来源……好吧,也许问题不在格式上。你能告诉我你调用输入的整个方法是从哪里来的吗?这就是我所得到的,我所有的东西都已经发布了。我的最佳猜测是,输入进入主方法,并以某种方式执行。我卡住了
public class Test{
public Test()
{
}
public void print(int[] nums)
{
for (int i = 0; i < nums.length; ++i)
System.out.print(nums[i] + " ");
System.out.println("\n");
}
public void foo(int[] nums)
{
this.print(nums);
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < (nums.length - 1); ++j)
if (nums[j] > nums[j + 1])
{
int tmp = nums[j];
nums[j] = nums[j + 1];
nums[j+ 1] = tmp;
}
System.out.print(i + ": ");
this.print(nums);
}
}
public static void main(String[] args)
{
int[] nums = {9, 5, 8, 4, 2, 7, 3, 6, 1};
Test t = new Test();
test.foo(nums);
}
}