Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Sorting - Fatal编程技术网

Java:如何在返回时对数组进行排序

Java:如何在返回时对数组进行排序,java,arrays,sorting,Java,Arrays,Sorting,如何对IF语句中的数组按字母顺序或数字顺序(pg nums)排序?请注意,Arrays.sort()在使用时不会编译。我试图对返回的值进行排序,而不是对初始输入进行排序 import java.util.Arrays; import java.util.Scanner; public class LibraryBookSort { public static void main(String[] args) { String title, author;

如何对IF语句中的数组按字母顺序或数字顺序(pg nums)排序?请注意,
Arrays.sort()
在使用时不会编译。我试图对返回的值进行排序,而不是对初始输入进行排序

import java.util.Arrays;
import java.util.Scanner;

public class LibraryBookSort
{
    public static void main(String[] args)
    {
        String title, author;

        int x;
        int pages, sortBy;

        LibraryBook[] titleArray = new LibraryBook[5];
        LibraryBook[] authorArray = new LibraryBook[5];
        LibraryBook[] pagesArray = new LibraryBook[5];

        for (x = 0; x < 5; x++)
        {
            titleArray[x] = new LibraryBook();
            authorArray[x] = new LibraryBook();
            pagesArray[x] = new LibraryBook();
        }
        //User Input
        Scanner input = new Scanner(System.in);

        for (x = 0; x < 5; x++)
        {
            //TitleInput
            System.out.print("Enter the title of a book: ");
            title = input.nextLine();
            titleArray[x].setBook(title);

            //Author Input
            System.out.print("Enter the author of this book: ");
            author = input.nextLine();
            authorArray[x].setAuthor(author);

            //Page Input
            System.out.print("Enter the number of pages for this book: ");
            pages = input.nextInt();
            pagesArray[x].setPages(pages);

            input.nextLine();
        }

        //Book Organize input
        System.out.println("How would you like to organize your values?");
        System.out.println("Sort by title > Enter 1: ");
        System.out.println("Sort by author's last name > Enter 2: ");
        System.out.print("Sort by page count > Enter 3: ");
        sortBy = input.nextInt();



        // Sort by title
        if(sortBy == 1)
        {
            for(x = 0; x < 5; x++)
            {

                System.out.println();
                System.out.println("Book ");
                System.out.println("Title: " + titleArray[x].getBook());
                System.out.println("Author: " + authorArray[x].getAuthor());
                System.out.println("Page Count: " + pagesArray[x].getPages());
            }
        }
        // Sort by author
        else
        if(sortBy == 2)
        {
            for(x = 0; x < 5; x++)
            {
                System.out.println();
                System.out.println("Book ");
                System.out.println("Author: " + authorArray[x].getAuthor());
                System.out.println("Title: " + titleArray[x].getBook());
                System.out.println("Page Count: " + pagesArray[x].getPages());
            }
        }
        // Sort by page count
        else
        if(sortBy == 3)
        {
            for(x = 0; x < 5; x++)
            {
                System.out.println();
                System.out.println("Book ");
                System.out.println("Page Count: " + pagesArray[x].getPages());
                System.out.println("Title: " + titleArray[x].getBook());
                System.out.println("Author: " + authorArray[x].getAuthor());
            }
        }
    }
}
导入java.util.array;
导入java.util.Scanner;
公共类图书馆书店
{
公共静态void main(字符串[]args)
{
字符串标题、作者;
int x;
整版页面,排序;
LibraryBook[]titleArray=新的LibraryBook[5];
LibraryBook[]authorary=新的LibraryBook[5];
LibraryBook[]pagesArray=新的LibraryBook[5];
对于(x=0;x<5;x++)
{
titleArray[x]=新图书馆图书();
authorary[x]=新图书馆图书();
pagesArray[x]=新图书馆图书();
}
//用户输入
扫描仪输入=新扫描仪(System.in);
对于(x=0;x<5;x++)
{
//标题输入
System.out.print(“输入书名:”);
title=input.nextLine();
titleArray[x]。挫折书(标题);
//作者输入
System.out.print(“输入本书作者:”);
author=input.nextLine();
authorary[x].setAuthor(author);
//页面输入
System.out.print(“输入本书的页数:”);
pages=input.nextInt();
pagesArray[x]。设置页面(页);
input.nextLine();
}
//图书组织输入
System.out.println(“您希望如何组织您的值?”);
System.out.println(“按标题排序>输入1:”);
System.out.println(“按作者姓氏排序>输入2:”;
系统输出打印(“按页数排序>输入3:”;
sortBy=input.nextInt();
//按标题排序
如果(排序=1)
{
对于(x=0;x<5;x++)
{
System.out.println();
System.out.println(“书籍”);
System.out.println(“标题:+titleArray[x].getBook());
System.out.println(“作者:+authorary[x].getAuthor());
System.out.println(“页面计数:+pagesArray[x].getPages());
}
}
//按作者排序
其他的
如果(排序==2)
{
对于(x=0;x<5;x++)
{
System.out.println();
System.out.println(“书籍”);
System.out.println(“作者:+authorary[x].getAuthor());
System.out.println(“标题:+titleArray[x].getBook());
System.out.println(“页面计数:+pagesArray[x].getPages());
}
}
//按页数排序
其他的
如果(排序==3)
{
对于(x=0;x<5;x++)
{
System.out.println();
System.out.println(“书籍”);
System.out.println(“页面计数:+pagesArray[x].getPages());
System.out.println(“标题:+titleArray[x].getBook());
System.out.println(“作者:+authorary[x].getAuthor());
}
}
}
}

如果
数组.sort
无法编译,则说明您做错了。在任何情况下,都需要定义自定义的
Comparator
对象,每个对象都比较相关字段,然后使用这些对象进行排序。如果您打算保留多个数据结构,那么最好将它们设置为
SortedSet
s,而不是普通数组

“Arrays.sort()在使用时不会编译”是什么意思?JavaAPI通常不包含“使用时不会编译”的方法。你是如何使用它的?不要一次又一次地问同一个问题。编辑原始问题以使其清晰,并回答您在评论中得到的问题。例如,System.out.println(“作者:”+Arrays.sort(authorary[x].getAuthor());不会编译,因为它是空的。@ewbrowning您似乎不知道
Arrays.sort
是如何工作的。为什么要执行数组.sort(authorary[x].getAuthor())?你这样做的目的是什么?回答评论中的问题。你被告知对字符串排序没有任何意义,并且被问到你试图实现什么。你没有回答。