Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写一个Java程序,将整数数组中的偶数和奇数分开_Java - Fatal编程技术网

编写一个Java程序,将整数数组中的偶数和奇数分开

编写一个Java程序,将整数数组中的偶数和奇数分开,java,Java,我需要编写一个java程序,在整数数组中分离奇偶数 这就是我到目前为止所做的: 这一部分很完美: package Homework; import java.util.*; public class EvenOdd { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("Please enter 10 integers"); int

我需要编写一个java程序,在整数数组中分离奇偶数

这就是我到目前为止所做的: 这一部分很完美:

package Homework;
import java.util.*;
public class EvenOdd
{
public static void main(String[] args)
{
    // TODO Auto-generated method stub
    System.out.println("Please enter 10 integers");
    int [] a= new int[10];
    Scanner sc = new Scanner(System.in);
    for(int i=0;i<a.length;i++)
    {
        System.out.print("The "+(i+1)+" integer = ");
        a[i]= sc.nextInt();
    }     

        System.out.println("\nThe resulting array");
        for(int i=0;i<a.length;i++)
        {
            for(int j=1;j<a.length;j++)
            {
                int temp;
                if(a[i]%2!=0 && a[j]%2==0 && j>i)
                {
                    temp=a[j];
                    a[j]=a[i];
                    a[j]=temp;
                    break;     //There seems to be some problem in this loop
                }
            }
            System.out.println("The "+(i+1)+" integer = "+a[i]);
        }
打包作业;
导入java.util.*;
公共课偶数
{
公共静态void main(字符串[]args)
{
//TODO自动生成的方法存根
System.out.println(“请输入10个整数”);
int[]a=新的int[10];
扫描仪sc=新的扫描仪(System.in);

对于(int i=0;i如果您使用模的
%2
,您应该能够找到数字是偶数还是奇数,因为偶数mod 2将等于0,奇数mod 2将等于1

尝试以下方法对数组进行排序:

    for(int i=0;i<count;i++)
    {
        if(a[i] %2 != 0){//even
            int temp = a[i];
            a[i--] = a[count--];
            a[count+1] = temp;
        }
    }

for(int i=0;i引入两个整数类型的数组列表list1和list2。将偶数放入list1,奇数放入list2。将两者合并到list1中

public class EvenOdd {

    public static void main(String[] args) {

        System.out.println("Please enter 10 integers");
        int[] a = new int[10];
        ArrayList<Integer> list1 = new ArrayList();
        ArrayList<Integer> list2 = new ArrayList();
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            System.out.print("The " + (i + 1) + " integer = ");
            a[i] = sc.nextInt();
            if (a[i] % 2 == 0) {
                list1.add(a[i]);
            } else {
                list2.add(a[i]);
            }
        }
        list1.addAll(list2);
        for (int b : list1) {
            System.out.print(b + " ");
        }

    }
}
公共类偶数{
公共静态void main(字符串[]args){
System.out.println(“请输入10个整数”);
int[]a=新的int[10];
ArrayList list1=新的ArrayList();
ArrayList list2=新的ArrayList();
扫描仪sc=新的扫描仪(System.in);
for(int i=0;i
我认为由于输入错误,您的元素交换不起作用:

temp=a[j];
a[j]=a[i];
a[i]=temp;   //Should be a[i] and not a[j]
break;
您还可以通过对
for
循环进行以下更改来减少迭代次数:

for(int i=0;i<a.length-1;i++)
{
     for(int j=i+1;j<a.length;j++)
     {
          int temp;
          if(a[i]%2!=0 && a[j]%2==0) //no need of the last condition
for(inti=0;i
importjava.util.*;
main11班
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入范围”);
int no=sc.nextInt();
int a[]=新int[no];
int i;
System.out.println(“输入元素”);
用于(i=0;i
//在2个不同数组A中存储偶数和奇数元素并打印它//
导入java.util.*;
main11班
{
公共静态void main(字符串参数[])
{
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入范围”);
int no=sc.nextInt();
int a[]=新int[no];
int i,j=0,k=0;
System.out.println(“输入元素”);
对于(i=0;i
import java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
int j=0,k=0,n;
扫描仪scn=新扫描仪(System.in);
System.out.println(“输入数组中所需的元素数:”);
n=scn.nextInt();
int数组[]=新的int[n];
System.out.println(“您的数组元素是:”);

对于(int i=0;iI已经使用了%2,但是我需要得到顶部的偶数和底部的奇数。您已经扫描了变量,现在您需要对它们进行“排序”或组织。确切地说,但我不知道如何组织它。它到底需要如何组织?它可以在两个数组中排序还是必须是一个数组?只有一个数组。如果您在程序中,您将得到以下结果:请输入10个整数1整数=1 2整数=2 3整数=3 4整数=4 5整数=5 6整数=6 7整数=7 8整数=7 9整数=10结果数组1整数=1 2整数=2 3整数=3 4整数=4 5 integer=5 6 integer=6 7 integer=7 8 integer=7 9 integer=9 10 integer=10我需要生成的数组首先是所有偶数,然后是所有奇数偶数。是否还要对数组中的元素进行排序?虽然此代码可能提供了一个问题的解决方案,但最好添加上下文,说明为什么/如何排序Works。这可以帮助未来的用户学习,并将这些知识应用到他们自己的代码中。在解释代码时,用户也可能会以投票的形式给予积极的反馈。
import java.util.*;
class main11
{
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the range");
        int no=sc.nextInt();
        int a[]=new int[no];
        int i;
        System.out.println("Enter the elements");
        for(i=0;i<no;i++)
        {
            a[i]=sc.nextInt();
        }
        System.out.println("Even nos are");
        for(i=0;i<no;i++)
        {
            if(a[i]%2==0)
            { 
                System.out.println(a[i]);

            }

        }
        System.out.println("The odd nos are");
        for(i=0;i<no;i++)
        {
            if(a[i]%2!=0)
            { 
                System.out.println(a[i]);

            }

        }




        }

    }   
//To store even and odd element in 2 diifferent array Aand print it//
import java.util.*;
class main11
{
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Enter the range");
        int no=sc.nextInt();
        int a[]=new int[no];
        int i,j=0,k=0;
        System.out.println("Enter the elements");
        for(i=0;i<no;i++)
        {
            a[i]=sc.nextInt();
        }
        int even[]=new int[no];
        int odd[]=new int[no];
        System.out.println("Even nos are");
        for(i=0;i<no;i++)
        {
            if(a[i]%2==0)
            { 
                even[i]=a[i];//to store element in even array//
                System.out.println(even[i]+" ");

            }

        }
        System.out.println("The odd nos are");
        for(i=0;i<no;i++)
        {
            if(a[i]%2!=0)
            {  
                odd[i]=a[i];//to store element in odd array//

                System.out.println(odd[i]+" ");

            }

        }




        }

    }   
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        int j=0,k=0,n;
        Scanner scn = new Scanner(System.in);
        System.out.println("Enter number of element you want in your array:");
         n = scn.nextInt();
        int array[] = new int[n];
        System.out.println("Your array element is : ");
        for (int i=0;i<n;i++){
            array[i]= scn.nextInt();
        }

        int even[] = new int[n];
        int odd[] = new int[n];
        for (int i=0;i<n;i++){
            if (array[i] % 2 != 0){
                odd[j] = array[i];
                j++;
            }
            else{
                even[k] = array[i];
                k++;
            }
        }

        System.out.println("Odd Array");
        if (j>1)
        {
            for (int i=0;i<j-1;i++){
                System.out.println(odd[i]+",");
            }
            System.out.println(odd[j-1]);

        }
        else {
            System.out.println("No number");
        }
        System.out.println(" ");
        System.out.print("Even :");
        System.out.println("Odd Array");
        if (k>1)
        {
            for (int i=0;i<k-1;i++){
                System.out.println(even[i]+",");
            }
            System.out.println(even[k-1]);

        }
        else {
            System.out.println("No number");
        }


    }
}