这是我第一次做java,我正在尝试使用名为bigNum()的方法从x数组中获取最大数字。谁能告诉我为什么这不起作用?
class project3
{
public static void main(String args[])
{
int total =0;
int b;
System.out.println("How many numbers do you want in the array");
int maxItems = EasyIn.getInt();
int[] numbers = new int[maxItems];
for (int i=0; i < maxItems; i++)
{
b = EasyIn.getInt();
}
bigNum(b);
}
public static void bigNum(int maxItems)
{
for (int i = 1; i >= maxItems; i++)
{
if (bigNum(b) >= maxItems)
bigNum(b) = maxItems;
}
return bigNum(b);
}
}
答案 0 :(得分:1)
由于无法匹配,您可能会在此时收到编译器错误。您希望程序具有匹配的大括号,并且您还希望避免在其他方法中使用方法。
您希望拥有以下形式的内容
class project3
{
public static void main(String args[])
{
...
}
public static int bigNum(int maxItems[])
{
...
return someInt;
}
}
答案 1 :(得分:0)
// capital letter for the class (convention)
public class Project3 {
public static void main(String args[]) {
//int total = 0; // you never used this number
System.out.println("How many numbers do you want in the array");
int maxItems = EasyIn.getInt();
int[] numbers = new int[maxItems];
for(int i = 0; i < maxItems; ++i) {
int newNumber = EasyIn.getInt();
/* you want to put the numbers into an array,
so don't call "bigNum" but put them there: */
numbers[i] = newNumber;
}
// now find the big number:
int bigNumber = bigNum(numbers);
System.out.println("The biggest number: " + bigNumber);
}
// first: change the return type to get the biggest number
// second: pass the reference to the array, not a single number
// public static void bigNum(int maxItems) {
public static int bigNum(int[] items) {
// create big number, assume it's very small:
int bigNumber = Integer.MIN_VALUE;
// this for loop will never run, change it a bit:
//for(int i = 1; i >= maxItems; i++) {
for(int i = 0; i < items.length; i++) {
// your idea is correct, but you can not use the
// method here, see explanations below
// Also don't check for the number of Items, but for
if(items[i] > bigNumber) {
bigNumber = items[i];
}
}
return bigNumber;
}
}
类名:Java有许多不同的命名约定,但最常见的规则是:CamelCase中的ClassNames / Types,开头有一个Capital,variableNames遵循类似的约定,但带有一个前导小写字母。这使得阅读代码变得更加容易。
缩进:尝试使用更一致的缩进。还支持可读性。实际上其他一些编程语言甚至依赖于正确的缩进。
尝试了解variables是什么以及有哪些方法以及如何use them(和return from them,您无法为Java中的方法赋值。当您阅读后一篇教程重点时关于返回类型以及如何正确调用方法,当方法类型为int
时,您不能返回void
。此外,参数需要精确定义。
除此之外,尝试在发布之前编译代码。随着你的代码的进行,它应该抛出大量的编译错误,例如: bigNum(b) = maxItems;
应告诉您,作业的左侧需要是变量。这可以帮助您追踪错误。
另一个错误是,对于大多数人EasyIn
将不会被定义(因为它对我来说,所以我上面发布的代码可能实际上不起作用,我没有尝试)。我想这是一个学习库(我们在我们的第一次Java讲座中得到了AlgoTools
)。仍然很高兴告诉我们它是什么以及你使用的其他导入(当我让我的IDE决定我的导入时常见错误:java.util.Date
和java.sql.Date
)。
还要尝试向自己说明您希望通过自己的计划以及如何实现目标。你的算法看起来实际上看起来你没有太多考虑它:你试图找到一个最大的数字,并总是检查“一个大数字”与预期项目的数量,然后也可能成为“大数字”。或类似的东西。
编程简洁而准确,因此请先制定计划。如果您太难以直接考虑解决方案,您可以将其绘制在纸上。
如果你有问题,在编译之后,询问你的程序,询问谷歌,询问堆栈溢出:向我们提供尽可能多的详细信息,我们将能够帮助你而不只是发布一些代码。
祝你好运!