Java 尝试提示我的数组输入10个数字以执行模式
我现在正在做的练习需要我 从用户收集10个值以存储到数组中 显示10个值的模式 可以使用并行数组来计算值的出现次数 使用方法将输入的值用作参数,并按顺序返回具有最大值的数组 这是我目前掌握的代码: 问题是,我的模式适用于10个定义的值,但有一次我试图弄乱它,并为丢失的值添加扫描仪Java 尝试提示我的数组输入10个数字以执行模式,java,arrays,for-loop,logic,java.util.scanner,Java,Arrays,For Loop,Logic,Java.util.scanner,我现在正在做的练习需要我 从用户收集10个值以存储到数组中 显示10个值的模式 可以使用并行数组来计算值的出现次数 使用方法将输入的值用作参数,并按顺序返回具有最大值的数组 这是我目前掌握的代码: 问题是,我的模式适用于10个定义的值,但有一次我试图弄乱它,并为丢失的值添加扫描仪 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] arraytwo = {10
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int[] arraytwo = {10};
test3(arraytwo);
number = scan.nextInt;
number = arraytwo[i];
}
public static void test3(int[] array)
{
int modeTrack[] = new int[10];
int max =0; int number =0;
for (int i = 0; i < array.length; i++)
{
modeTrack[array[i]] += 1;
}
int maxIndex = 0;
for (int i = 1; i < modeTrack.length; i++)
{
int newNum = modeTrack[i];
if (newNum > modeTrack[maxIndex])
{
maxIndex = i;
}
}System.out.println(maxIndex);
}
听起来test3方法并没有给您带来麻烦,所以我将介绍一下您的主要方法 我插入的评论指出,您的主要报告中有一些错误:
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int[] arraytwo = {10};
test3(arraytwo);
number = scan.nextInt; //number does not exist in this scope, also nextInt method should use () to call it.
number = arraytwo[i]; //i does not exist in this scope
}
对于主要方法,我建议您执行以下操作:
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
Integer[] arrTwo = new Integer[10];
for (int i = 0; i < 10; i++)
{
arrTwo[i] = scan.nextInt();
}
sort(arrTwo);
//System.out.println(Arrays.toString(arrTwo)); //this line will print your sorted array for you..
}
public static void sort(Integer[] arr){
Arrays.sort(arr, Collections.reverseOrder());
}
这段代码将取十个值并按降序排序。希望它能帮助您。将下面的代码保存在Test.java中并运行它
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Test {
public static void main(String[] args)
{
Integer[] array = new Integer[10];
Scanner scan = new Scanner(System.in);
for (int i = 0; i <10; i++) {
array[i] = scan.nextInt();
}
doSort(array);
}
static void doSort(Integer[] array)
{
Arrays.sort(array,Collections.reverseOrder());
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
int[]数组two={10};你到底想在这里做什么?我想确定我最多只能接受10个值到我的数组中,然后你应该写int[]arraytwo=new int[10];相反您所写的内容意味着您有一个值为10的数组。有没有办法改用扫描仪?我正是用扫描仪尝试了这一点,但出现了ReadLine错误。是br.next?它成功了。有没有办法按降序显示另一个数组中的值?我会使用bubblesort吗?这篇文章对如何对int数组排序有一些好的想法:。