Java 阵列和输出
我是java编程新手,所以请原谅我愚蠢的错误。我的问题是,我的代码没有给出我想要的输出,即显示数组的所有偶数值,然后显示数组的所有不均匀值。这是我的代码:Java 阵列和输出,java,arrays,Java,Arrays,我是java编程新手,所以请原谅我愚蠢的错误。我的问题是,我的代码没有给出我想要的输出,即显示数组的所有偶数值,然后显示数组的所有不均匀值。这是我的代码: //main class public class Even_number_array { public static void main(String[] args) { array_class obj = new array_class(); obj.set_numbers(); } } //anothe
//main class
public class Even_number_array
{
public static void main(String[] args)
{
array_class obj = new array_class();
obj.set_numbers();
}
}
//another class
public class array_class
{
private int arr[] =
{
10, 20, 7, 8, 3, 6, 11, 9, 7, 45
};
public void set_numbers()
{
for (int i = 0; i <= arr.length; i++)
{
if (arr[i] % 2 == 0)
{
System.out.println("These even numbers were found in the array:");
do
{
System.out.println(arr[i]);
i++;
}
while (arr[i] % 2 == 0);
}
else if (arr[i] % 2 != 0)
{
System.out.println("uneven numbers found in array:");
do
{
System.out.println(arr[i]);
i++;
}
while (arr[i] % 2 != 0);
}
}
}
}
我有几个问题,为什么我的数组中的数字8不是用10和20打印,而6像8一样单独打印?还有,有没有一种方法可以让我使用Scanner类为数组获取用户输入,我该如何做呢
欢迎任何帮助!提前感谢:)如果我理解你的问题-以及你想要什么。最简单的解决方案(我明白)是循环两次
// Print the even numbers first.
for (int i=0; i < arr.length;i++){
if (arr[i] % 2 == 0) { // % 2 == 0 is even
System.out.printf("arr[%d] = %d%n (even)", i, arr[i]);
}
}
// Then the odd numbers.
for (int i=0; i < arr.length;i++){
if (arr[i] % 2 != 0) { // % 2 != 0 is odd (or "uneven")
System.out.printf("arr[%d] = %d%n (odd)", i, arr[i]);
}
}
//先打印偶数。
对于(int i=0;i
For loop应该是PS:+1代表第三方"For loop应该是<不是为什么你会说循环一次并存储在两个不同的列表中不是更好吗?一个是奇数,一个是偶数?@Aeshang如何将值复制到两个数组中,将一个数组的所有偶数值显示在彼此下面,然后将数组的所有不均匀值显示在彼此下面?你能详细说明一下吗这会有什么不同?这就是你想要的。埃利奥特走对了。非常感谢!这肯定有帮助:)没问题。可以使用扫描仪填充阵列。如果您仍然需要帮助,请查阅scanner类。我可能会为您发布一些代码。我知道如何将scanner类用于普通变量,但将scanner类用于数组确实令人困惑,如果您能帮助我解决此问题,将不胜感激!你为什么把我的答案改成正确答案?谢谢!关于解释部分你是对的,但我有点明白你的意思:)谢谢你的帮助@Julien
// Print the even numbers first.
for (int i=0; i < arr.length;i++){
if (arr[i] % 2 == 0) { // % 2 == 0 is even
System.out.printf("arr[%d] = %d%n (even)", i, arr[i]);
}
}
// Then the odd numbers.
for (int i=0; i < arr.length;i++){
if (arr[i] % 2 != 0) { // % 2 != 0 is odd (or "uneven")
System.out.printf("arr[%d] = %d%n (odd)", i, arr[i]);
}
}
System.out.println("Even Numbers");
for (int i=0; i < arr.length;i++){
if((arr[i] % 2) == 0)
{
System.out.println(arr[i]);
}
}
System.out.println("Odd Numbers");
for (int i=0; i < arr.length;i++){
if((arr[i] % 2) != 0)
{
System.out.println(arr[i]);
}
}
ArrayList<Integer> array = new ArrayList<Integer>();
int[] intArray;
Scanner scanner = new Scanner(System.in);
int a = 0;
while(a != -1)
{
System.out.println("Please enter an integer -1 to quit: ");
a = scanner.nextInt();
if(a != -1)
{
array.add(a);
}
}
intArray = new int[array.size()];
for(int i = 0; i < array.size(); i++)
{
intArray[i] = array.get(i);
}
for(int b = 0; b < intArray.length; b++)
{
System.out.println("Integer" + b + ": " + intArray[b]);
}