Java 类型不亲和性
我正在尝试创建一个返回数组模式的方法(我不是问如何创建该方法,我希望你们不要给我任何想法。对于那些不断批评我的问题是重复别人的问题的人,我知道答案已经在这个网站上了。这不是问题)。我在一个名为BasicMathMethods的类中创建了一个名为getTotal的方法:Java 类型不亲和性,java,Java,我正在尝试创建一个返回数组模式的方法(我不是问如何创建该方法,我希望你们不要给我任何想法。对于那些不断批评我的问题是重复别人的问题的人,我知道答案已经在这个网站上了。这不是问题)。我在一个名为BasicMathMethods的类中创建了一个名为getTotal的方法: public static int getTotal(double[] a, int b) { int count = 0; int Element; for(Element = 0; Element &l
public static int getTotal(double[] a, int b)
{
int count = 0;
int Element;
for(Element = 0; Element < a.length; Element++)
{
if(a[b] == a[Element])
{
count++;
}
}
return count;
}
publicstaticintgettotal(double[]a,intb)
{
整数计数=0;
int元素;
对于(元素=0;元素
我尝试在我的模式方法中使用此方法:
public static double Mode(double[] a)
{
for(int element = 0; element < a.length; element++)
{
int[] largest = BasicMathMethods.getTotal(a, element);// gets the count of each element
Arrays.sort(largest);
if(BasicMathMethods.getTotal(a, element) == largest.length)
return a[element];
}
}
公共静态双模式(双[]a)
{
for(int元素=0;元素
但是,我的编译器(顺便说一句,是蓝色的J)说“不兼容的类型:int不能转换为int[]”,并突出显示(a,元素)。我不明白这个错误。我看不出我在哪里尝试将int[]转换为int。有人能告诉我错误是什么并解释一下吗?您从getTotal返回一个int,并试图将其放入int[]变量中
int[] largest = BasicMathMethods.getTotal(a, element);
getTotal的返回类型是int
public static int getTotal(double[] a, int b)
如果要将从
BasicMathMethods.getTotal(a,element)
中获得的值添加到数组中,则会有一些复杂情况。你不知道你会得到多少值。因此,您将无法知道所需的数组大小
使用数组而不是数组
但更重要的是。我想指出您获得模式的主要问题。请仔细阅读下面的代码,看看是否有意义。
public static double mode(double[] a) {
double currentBestCandidate = a[0];
int countCurrentBestCandidate = BasicMathMethods.getTotal(a, 0);
// we already have index 0, lets start from 1
for(int element = 1; element < a.length; element++) {
int count = BasicMathMethods.getTotal(a, element);
// if this count is greater than what we have
// right now, we need to update currentBestCandidate
// and countCurrentBestCandidate
if(count > countCurrentBestCandidate) {
currentBestCandidate = a[element];
countCurrentBestCandidate = count;
}
}
return currentBestCandidate;
}
公共静态双模式(双[]a){
double CurrentBest候选者=a[0];
int countCurrentBestCandidate=BasicMathMethods.getTotal(a,0);
//我们已经有了索引0,让我们从1开始
for(int-element=1;element计数当前最佳候选){
CurrentBest候选者=一个[元素];
countCurrentBestCandidate=计数;
}
}
返回最佳候选人;
}
您的代码充满了风格吸引力。1) 切勿以大写字母开头局部变量的名称。2) 方法的名称不能以大写字母开头。3) 使用一致的缩进。很抱歉,我的代码打扰了您……我是一个初学者。如果您用谷歌搜索异常,您会发现您无法在声明为int数组的变量中存储int
。我是一个初学者-这就是我告诉您的原因。这样你就可以学习了!在Java世界中,忽略样式规则类似于编写英语,而忽略语法、标点符号和拼写规则。这对读者来说很恼火,而且容易导致人们误读你所写的内容。谢谢你告诉我Stephen C。我会认真考虑你的建议。我认为它应该是一个整数数组,这就是为什么我把int[]max=BasicMathMethods.getTotal(a,element)放在这里。我希望它将整数添加到数组中。我该怎么做?你应该看看这个。除此之外,它还向您展示了如何将整数放入数组。这很聪明。非常感谢。