2012-12-06 2 views
-1

Мне нужна помощь в решении проблемы ниже. Сначала я перечислил Numbers.java, и ниже это моя попытка Strings.java. Пожалуйста помоги!Полиморфное преобразование сортировки в Java

  1. Написать программу Strings.java, похожий на Numbers.java, который считывает в массив объектов Струнные и сортирует их. Вы можете просто скопировать и редактировать Numbers.java.

    package hw05; 
    
    /* 
    Demonstrates selectionSort on an array of integers. 
    */ 
    
    import java.util.Scanner; 
    
    
    public class Numbers { 
    // -------------------------------------------- 
    // Reads in an array of integers, sorts them, 
    // then prints them in sorted order. 
    // -------------------------------------------- 
    public static void main(String[] args) { 
    
        Integer[] intList; 
        int size; 
    
        Scanner scan = new Scanner(System.in); 
    
        System.out.print("\nHow many integers do you want to sort? "); 
        size = scan.nextInt(); 
        intList = new Integer[size]; 
    
        System.out.println("\nEnter the numbers..."); 
        for (int i = 0; i < size; i++) 
         intList[i] = scan.nextInt(); 
        Sorting.selectionSort(intList); 
    
        System.out.println("\nYour numbers in sorted order..."); 
        for (int i = 0; i < size; i++) 
         System.out.print(intList[i] + " "); 
        System.out.println(); 
    
    } 
    } 
    

Мой Струны класс

package hw05; 

/* 
Demonstrates selectionSort on an array of strings. 
*/ 
import java.util.Scanner; 

public class Strings { 
    // -------------------------------------------- 
    // Reads in an array of strings, sorts them, 
    // then prints them in sorted order. 
    // -------------------------------------------- 
    public static void main(String[] args) { 

     String[] stringList; 
     String size; 

     Scanner scan = new Scanner(System.in); 

     System.out.print("\nHow many strings do you want to sort? "); 
     size = scan.nextLine(); 
     stringList = new String[size]; 

     System.out.println("\nEnter the strings..."); 
     for (String i = 0; i < size; i++) 
      stringList[i] = scan.nextLine(); 
     Sorting.selectionSort(stringList); 

     System.out.println("\nYour strings in sorted order..."); 
     for (String i = 0; i < size; i++) 
      System.out.print(stringList[i] + " "); 
     System.out.println(); 

    } 
} 
+0

В чем проблема? –

+0

Мне нужно преобразовать программу numbers.java для чтения и сортировки массива объектов String. –

+0

> Вы можете просто скопировать и отредактировать Numbers.java. Я не думаю, что это произойдет, если вы не объясните, в чем именно проблема, с которой вы столкнулись с этим кодом. –

ответ

0

Вы собираетесь получить ошибку из-за этого заявления здесь:

String size; 

Как вы используете его позже как целое :

stringList = new String[size]; 

Вы должны использовать Integer.parse так:

stringList = new String[Integer.parseInt(size)]; 

Но вы используете размер позже снова для петель, так что я бы предположить, возвращаясь обратно к междунар как у вас есть в вашем Numbers.java. Обязательно замените сканер на:

scan.nextInt(); 

Кроме этого, я не вижу других проблем. Может быть, если вы разместили вывод и указали, что не работает?

+0

Я пробовал, что вы сказали выше, и я получаю сообщение об ошибке. –

+0

public static void main (String [] args) { \t \t Integer [] intList; \t \t int size; \t \t Сканер сканирует = новый сканер (System.in); \t \t System.out.print ("\ nВсе много строк, которые вы хотите отсортировать?"); \t \t size = scan.nextInt(); \t \t stringList = new String [Integer.parseInt (size)]; \t \t System.out.println ("\ nВведите строки ..."); \t \t для (int i = 0; i

+0

Это потому, что теперь вы пытаетесь разобрать int из строки с строкой 'stringList = new String [Integer.parseInt (size)];' Вам нужно изменить это на 'stringList = new String [size]; 'В будущем, пожалуйста, объясните ошибку, которую вы получаете, поэтому легче найти проблему. – chrissphinx

Смежные вопросы