Page 1 of 2 12 LastLast
Results 1 to 20 of 37
  1. #1
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Post Every Input File I Use Returns "Unsorted"

    Bottom line, I have to input two files (with polynomials), ensure they are sorted correctly, and merge them into one sorted output file. The code below compiles and runs smooth; however, no matter what I input, the files come back unsorted. All of the input files were provided and are supposed to work (except one, but that's not the problem). Here's my code:

    Java Code:
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class Project1 {
        
      public static void main(final String[] args) throws FileUnsorted, IOException {
        
        Scanner scanner = new Scanner(System.in);
        String inputFile1;
        String inputFile2;
        
        System.out.println("Enter first file name with extension: ");
        inputFile1 = scanner.nextLine();
        
        System.out.println("Enter second file name with extension: ");
        inputFile2 = scanner.nextLine();
        
        try {
          BufferedReader file1 = new BufferedReader(new FileReader(inputFile1));
          BufferedReader file2 = new BufferedReader(new FileReader(inputFile2));
          
          checkSorted(file1);
          checkSorted(file2);
        }
        
        catch (FileUnsorted ex) {
          System.exit(1);
        }
            
      }
      
      
      private static BufferedReader checkSorted(BufferedReader fileName) throws FileUnsorted, IOException {
        
        Polynomial p1 = null;
        Polynomial p2 = null;
        String line;
        
        while ((line = fileName.readLine()) != null) {
          p2 = new Polynomial(line);
          
          if (p1 != null) {
            if (p1.compareTo(p2) > 0) {
              throw new FileUnsorted();
            }
          }
          
          p1 = p2;
          
        }
    
        return new BufferedReader(fileName);
          
      }
      
    }
    and

    Java Code:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class Polynomial implements Comparable<Polynomial> {
      
      int[] coef;
      int deg;
    
      public Polynomial input(BufferedReader fileName) throws IOException {
    
        return new Polynomial(fileName.readLine());
        
      }
        
      
      public Polynomial(String polynomial) {
        
        Scanner line = new Scanner(polynomial);
        
        int coefficient = line.nextInt();
        int deg = line.nextInt();
      
        coef = new int[deg + 1];
        coef[deg] = coefficient;
        deg = degree();
        
        while (line.hasNextInt()) {
          coefficient = line.nextInt();
          deg = line.nextInt();
          coef[deg] = coefficient;
        }
        
      }
      
      public int degree() {
        
        int d = 0;
        
        for (int i = 0; i < coef.length; i++) {
          if (coef[i] != 0)
            d = i;
        }
        
        return d;
       
      }
    
      
      
      public String toString() {
        
        if (deg == 0)
          return "" + coef[0];
        else if (deg == 1)
          return coef[1] + "x + " + coef[0];
        
        String s = coef[deg] + "x^" + deg;
        
        for (int i = deg - 1; i >= 0; i--) {
          if (coef[i] == 0) continue;
          else if (coef[i] > 0)
            s = s + " + " + (coef[i]);
          else if (coef[i] < 0)
            s = s + " + " + (-coef[i]);
        
          if (i == 1)
            s = s + "x";
          else if (i > 1)
            s = s + "x^" + i;
        }
        
        return s;
      }
      
      
      public int compareTo(Polynomial arg) {
        
        if (coef.length != arg.coef.length) {
          return arg.coef.length - coef.length;
        }
      
        for (int i = coef.length - 1; i >= 0; i--) {
          if (coef[i] != arg.coef[i]) {
            return arg.coef[i] - coef[i];
          }
        }
          
        return 0;
          
      } 
      
    }
    and

    Java Code:
    public class FileUnsorted extends RuntimeException {
     
      public FileUnsorted() {
        
        System.out.println("File is not sorted.");
        
      }
      
    }

    I cannot figure out if I need to look at the checkSorted method, compareTo method, or some other method. I've looked through the code many times, but cannot find the issue(s). I have a feeling its somewhere in one of the loops since I tend to mess those up.

    Any guidance and/or direction is greatly appreciated.
    Last edited by Cod; 02-26-2011 at 12:04 AM.

  2. #2
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    Why does checkSorted() return a BufferedReader? If it is supposed to check something just have it return boolean (ie sorted or not). Also its a good idea to close streams when you're finished with them.

    As to your question, I'd start by seeing what comparison is resulting in the conclusion that the file is unsorted. Ie, in checkSorted() print p1 and p2 and the result of the comparison. If you see a result from compareTo() that is not what you would expect for a given pair of polynomials you can be sure that it is the Polynomial class that is wrongly implemented and start to look at that.

    (If it turns out that compareTo() is misbehaving and you can't see why, it might be a good idea to describe the polynomial ordering you are trying to implement.)
    Last edited by pbrockway2; 02-26-2011 at 12:22 AM.

  3. #3
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    We met again pbrockway2 :)

    It returns a BufferedReader because it was part of the shell which was provided.

    Both p1 and p2 are coming out as the same value, 7, which is the first value of the first file. The value is correct since the following number in the first file is 0. So the first number of the output should be 7. So, when you say the Polynomial class is wrongly implemented, what does that mean? The call in the main method or checkSorted method are incorrect? I don't quite understand what you're saying.

    Thanks again.

    EDIT: For the compareTo() method, it should put the polynomials in ascending order.
    Last edited by Cod; 02-26-2011 at 01:33 AM.

  4. #4
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    I'm not saying compareTo() in the Polynomial class is wrongly implemented: I'm just saying it might be. And the way to find out is to print the polynomials that are being compared.

    What happens (what output) when you change check checkSorted() to

    Java Code:
    private static BufferedReader checkSorted(BufferedReader fileName) throws FileUnsorted, IOException {
        
        Polynomial p1 = null;
        Polynomial p2 = null;
        String line;
        
        while ((line = fileName.readLine()) != null) {
          p2 = new Polynomial(line);
          
          if (p1 != null) {
            [b]System.out.println("Comparing " + p1);
            System.out.println("to " + p2);
            System.out.println("p1.compareTo(p2)>0 is" + (p1.compareTo(p2) > 0));[/b]
            if (p1.compareTo(p2) > 0) {
              throw new FileUnsorted();
            }
          }
          
          p1 = p2;
          
        }
    
        return new BufferedReader(fileName);
          
      }
      
    }

    Basically the idea is to see if compareTo() is returning the value you expect.

  5. #5
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    Oh, I see what you're saying. Let me try that. I was putting the print statements after the p1 = p2 line, which now explains why I was getting the same result for both. I'll check it again right now.


    EDIT: So I found out that 7 is comparing to 0. According to the first test file, the first two digits are 7 and 0. So shouldn't the program be reading the next line vs the next int?
    Last edited by Cod; 02-26-2011 at 02:11 AM.

  6. #6
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    By the way, two of the files I have to merge are attached to give you an idea as to what I'm trying to accomplish. I know what the output should be, but I just can't get the program to provide it.
    Attached Files Attached Files

  7. #7
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    After some doing some digging into an old textbook, I found utilizing an array list may be better in the checkSorted method. However, I cannot figure out how to get p1 and p2 to update accordingly in the while loop. I'm sure there is more wrong, so any more assistance is greatly appreciated.

    Updated code:

    Java Code:
    public class Project1 {
    
        public static void main(final String[] args) throws FileUnsorted, IOException {
    
            Scanner scanner = new Scanner(System.in);
            String inputFile1;
            String inputFile2;
    
            System.out.println("Enter the first file name: ");
            inputFile1 = scanner.nextLine();
    
            System.out.println("Enter second file name: ");
            inputFile2 = scanner.nextLine();
    
            try {
    
                Polynomial[] p1 = checkSorted(inputFile1);
                Polynomial[] p2 = checkSorted(inputFile2);
    
            }
            catch (FileUnsorted ex) {
                System.exit(1);
            }
    
        }
    
    
        private static Polynomial[] checkSorted(String fileName) throws FileUnsorted, IOException {
    
            ArrayList alst = new ArrayList();
            String line = "";
            Polynomial p1 = null;
            Polynomial p2 = null;
            BufferedReader br = new BufferedReader (new StringReader(fileName));
            
            while ((line = br.readLine()) != null) {
                alst.add(line);
    
                if (p1 != null) {
                    if (p1.compareTo(p2) > 0) {
                        throw new FileUnsorted();
                    }
                }
    
            p1 = p2;
    
            }
    
            return (Polynomial[])alst.toArray(new Polynomial[] {});
        }

    Again, any guidance is greatly appreciated.


    EDIT: Here are the error messages I'm receiving (all runtime):
    Java Code:
    [COLOR="red"]Exception in thread "main" java.lang.ArrayStoreException
            at java.lang.System.arraycopy(Native Method)
            at java.util.Arrays.copyOf(Arrays.java:2763)
            at java.util.ArrayList.toArray(ArrayList.java:305)
            at Project1.checkSorted(Project1.java:56)
            at Project1.main(Project1.java:24)[/COLOR]
    Last edited by Cod; 02-27-2011 at 12:17 AM. Reason: Added error messages.

  8. #8
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    I have no clue about the second version of the code you posted.

    In particular:

    Java Code:
    BufferedReader br = new BufferedReader (new StringReader(fileName));

    seems to be trying to get the data from the file name rather than the file's contents. That can't be right.

    -------------------------------

    Back to what you said before that "7 is comparing to 0". (You didn't actually post the output or the code that produced it, so the following involves some guesswork)

    Notice that the polynomial 0 is not in the file file1.txt. For reference the contents are

    Java Code:
    7 0
    4 1
    1 6 5 2 6 1
    1 6 5 2 6 1 4 0

    which correspond (again, guesswork: you haven't specified the file format explicitly) to the polynomials

    Java Code:
    7
    4x
    x^6+5x^2+6x
    x^6+5x^2+6x+4

    Again, add code to the check sorted method to see how come you end up comparing 7 (the first polynomial) with 0 (which isn't in the file).

    Java Code:
    private static BufferedReader checkSorted(BufferedReader fileName) throws FileUnsorted, IOException {
        
        Polynomial p1 = null;
        Polynomial p2 = null;
        String line;
        
        while ((line = fileName.readLine()) != null) {
          p2 = new Polynomial(line);
          [b]System.out.println("p2 set to " + p2);
          System.out.println("(using line=" + line + ")");[/b]
          if (p1 != null) {
            [b]System.out.println("Comparing " + p1);
            System.out.println("to " + p2);
            System.out.println("p1.compareTo(p2)>0 is " + (p1.compareTo(p2) > 0));[/b]
            if (p1.compareTo(p2) > 0) {
              throw new FileUnsorted();
            }
          }
          p1 = p2;
        }
        return new BufferedReader(fileName);
      }
    }

    Be explicit about the situation that leads to the problem. Am I right in interpreting the polynomials from the file contents in the way I did? What are the criteria for saying one polynomial is "bigger" than another? What code are you using? What is the (actual and complete) output of that code?
    Last edited by pbrockway2; 02-27-2011 at 01:01 AM.

  9. #9
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    Java Code:
    p2 set to 7
    (using line=7 0)
    p2 set to 0
    (using line=4 1)
    Comparing 7
    to 0
    p1.compareTo(p2)>0 is true
    File is not sorted.
    So this tells me that p1 is not populating with anything and p2 is gaining the value of the first then second number of the same line. How's this rectified?

    I'm lost.

  10. #10
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    p1 is getting its value at the end of the first time around the loop (it becomes 7).

    The weird bit is

    Java Code:
    p2 set to 0
    (using line=4 1)

    because the line "4 1" (the second line in the file) should be the polynomial 4x not the polynomial 0.

    Do you see this?

    So we need to look at the constructor to see why the line

    Java Code:
    p2 = new Polynomial(line);

    is assigning the wrong polynomial to p2. Or, at any rate, is not initialising the polynomial properly.


    The technique is the same: add some debugging info to see why the line "4 1" is not being converted into the polynomial 4x. (Ie the coef array should be [0,4] - I think - and the degree should be 2).

    Java Code:
    public Polynomial(String polynomial) {
        [b]System.out.println("Polynomial constructor using: " + polynomial);[/b]
        
        Scanner line = new Scanner(polynomial);
        
        int coefficient = line.nextInt();
        int deg = line.nextInt();
      
        coef = new int[deg + 1];
        coef[deg] = coefficient;
        deg = degree();
        
        while (line.hasNextInt()) {
          coefficient = line.nextInt();
          deg = line.nextInt();
          coef[deg] = coefficient;
        }
        [b]System.out.println("    coef array set to " + Arrays.toString(coef));[/b]
        [b]System.out.println("    deg set to " + deg);[/b]
      }

  11. #11
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    I understand what you're saying, but I cannot figure out why the output isn't spitting out right. The message from the last run I did is below:

    Java Code:
    Polynomial constructor using: 7 0
        coef array set to [7]
        deg set to 0
    Polynomial constructor using: 4 1
        coef array set to [0, 4]
        deg set to 1
    File is not sorted.
    So it seems the array is correct, but I can't find anything else wrong throughout the code.

  12. #12
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    Your Polynomial class and the constructor both have variables deg. This is a bad practice as you think you are assigning to one of the variables but it is "hidden" by the other.

    I would reccommend changing the Polynomial constructor so it uses a different local variable.

    Java Code:
    public Polynomial(String polynomial) {
        [b]System.out.println("Polynomial constructor using: " + polynomial);[/b]
        
        Scanner line = new Scanner(polynomial);
        
        int coefficient = line.nextInt();
        int [color=blue]d[/color] = line.nextInt();
      
        coef = new int[[color=blue]d[/color] + 1];
        coef[[color=blue]d[/color]] = coefficient;
        deg = degree();  // <-- this one is meant to set the instance variable
        
        while (line.hasNextInt()) {
          coefficient = line.nextInt();
          [color=blue]d[/color] = line.nextInt();
          coef[[color=blue]d[/color]] = coefficient;
        }
        [b]System.out.println("    coef array set to " + Arrays.toString(coef));[/b]
        [b]System.out.println("    deg set to " + deg);[/b]
      }

  13. #13
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    New output:

    Java Code:
    Polynomial constructor using: 7 0
        coef array set to [7]
        exp set to 0
    Polynomial constructor using: 4 1
        coef array set to [0, 4]
        exp set to 1
    File is not sorted.
    Clearly the polynomials are sorted, but I keep getting a return that they are not sorted. What gives?

  14. #14
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    Oh, I meant to add that you should replace the debugging code you had in the other method. You'll need that again.

    Do that and post the actual code you are using with its output.

  15. #15
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    Here's what I came up with:

    Java Code:
    Polynomial constructor using: 7 0
        coef array set to [7]
        exp set to 0
    p2 set to 7
    (using line=7 0)
    Polynomial constructor using: 4 1
        coef array set to [0, 4]
        exp set to 1
    p2 set to 0
    (using line=4 1)
    Comparing 7
    to 0
    p1.compareTo(p2)>0 is true
    File is not sorted.

    Should p2 be set to the exponent and p1 set to the next line? I'm still stumped.

  16. #16
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    I'm still stumped.

    So am I because I have not seen your code. This exp variable is a total mystery, for instance. And other stuff. Please post the code that generated that output.

  17. #17
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    Here's everything I got, along with the output at the bottom (in red):

    Java Code:
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.Scanner;
    
    public class Project1 {
      
      
      public static void main(final String[] args) throws FileUnsorted, IOException {
        
        Scanner scanner = new Scanner(System.in);
        String inputFile1;
        String inputFile2;
        
        System.out.println("Enter the first file name: ");
        inputFile1 = scanner.nextLine();
        
        System.out.println("Enter second file name: ");
        inputFile2 = scanner.nextLine();
        
        try {
          BufferedReader file1 = new BufferedReader(new FileReader(inputFile1));
          BufferedReader file2 = new BufferedReader(new FileReader(inputFile2));
          
          checkSorted(file1);
          checkSorted(file2);
        }
        
        catch (FileUnsorted ex) {
          System.exit(1);
        }
            
      }
      
      
      private static BufferedReader checkSorted(BufferedReader fileName) throws FileUnsorted, IOException {
        
        Polynomial p1 = null;
        Polynomial p2 = null;
        String line = null;
        
        while ((line = fileName.readLine()) != null) {
          p2 = new Polynomial(line);
    
          System.out.println("p2 set to " + p2);
          System.out.println("(using line=" + line + ")");
    
          if (p1 != null) {
            System.out.println("Comparing " + p1);
            System.out.println("to " + p2);
            System.out.println("p1.compareTo(p2)> 0 is " + (p1.compareTo(p2) > 0));
    
            if (p1.compareTo(p2) > 0) {
              throw new FileUnsorted();
            }
          }
          p1 = p2;
        }
        return new BufferedReader(fileName);
      }
    
      
    }
    and

    Java Code:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Polynomial implements Comparable<Polynomial> {
      
      int[] coef;
      int deg;
    
      public Polynomial input(BufferedReader file) throws IOException {
    
        return new Polynomial(file.readLine());
        
      }
        
      
      public Polynomial(String polynomial) {
    
        System.out.println("Polynomial constructor using: " + polynomial);
    
        
        Scanner line = new Scanner(polynomial);
        
        int coefficient = line.nextInt();
        int exp = line.nextInt();
      
        coef = new int[exp + 1];
        coef[exp] = coefficient;
        exp = degree();
        
        while (line.hasNextInt()) {
          coefficient = line.nextInt();
          exp = line.nextInt();
          coef[exp] = coefficient;
        }
    
        System.out.println("    coef array set to " + Arrays.toString(coef));
        System.out.println("    exp set to " + exp);
    
        
      }
      
      public int degree() {
        
        int d = 0;
        
        for (int i = 0; i < coef.length; i++) {
          if (coef[i] != 0)
            d = i;
        }
        
        return d;
       
      }
    
      
      
      public String toString() {
        
        if (deg == 0)
          return "" + coef[0];
        else if (deg == 1)
          return coef[1] + "x + " + coef[0];
        
        String s = coef[deg] + "x^" + deg;
        
        for (int i = deg - 1; i >= 0; i--) {
          if (coef[i] == 0) continue;
          else if (coef[i] > 0)
            s = s + " + " + ( coef[i]);
          else if (coef[i] < 0)
            s = s + " + " + (-coef[i]);
        
          if (i == 1)
            s = s + "x";
          else if (i > 1)
            s = s + "x^" + i;
        }
        
        return s;
      }
      
      
      public int compareTo(Polynomial arg) {
        
        if (coef.length != arg.coef.length) {
          return arg.coef.length - coef.length;
        }
      
        for (int i = coef.length - 1; i >= 0; i--) {
          if (coef[i] != arg.coef[i]) {
            return arg.coef[i] - coef[i];
          }
        }
          
        return 0;
          
      } 
      
    }
    and

    Java Code:
    public class FileUnsorted extends RuntimeException {
     
      public FileUnsorted() {
        
        System.out.println("File is not sorted.");
        
      }
      
    }
    and lastly, the output:

    Java Code:
    Polynomial constructor using: 7 0
        coef array set to [7]
        exp set to 0
    p2 set to 7
    (using line=7 0)
    Polynomial constructor using: 4 1
        coef array set to [0, 4]
        exp set to 1
    p2 set to 0
    (using line=4 1)
    Comparing 7
    to 0
    p1.compareTo(p2)> 0 is true
    File is not sorted.




    I'll say it again, your guidance has and continues to be greatly appreciated. Slowly and surely I'm learning this stuff. Thanks again.

  18. #18
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    OK. Using exp for the local variable is fine. But you changed it in a couple of other places where the instance variable deg was meant. The Polynomial constructor should be:

    Java Code:
    public Polynomial(String polynomial) {
    
        System.out.println("Polynomial constructor using: " + polynomial);
    
        
        Scanner line = new Scanner(polynomial);
        
        int coefficient = line.nextInt();
        int exp = line.nextInt();
      
        coef = new int[exp + 1];
        coef[exp] = coefficient;
        [b]deg = degree();[/b]
        
        while (line.hasNextInt()) {
          coefficient = line.nextInt();
          exp = line.nextInt();
          coef[exp] = coefficient;
        }
    
        System.out.println("    coef array set to " + Arrays.toString(coef));
        [b]System.out.println("    deg set to " + deg);[/b]
    
      }

    What output do you get then?

  19. #19
    Cod
    Cod is offline Member
    Join Date
    Nov 2009
    Location
    Honolulu, HI
    Posts
    59
    Rep Power
    0

    Default

    Java Code:
    Polynomial constructor using: 7 0
        coef array set to [7]
        deg set to 0
    p2 set to 7
    (using line=7 0)
    Polynomial constructor using: 4 1
        coef array set to [0, 4]
        deg set to 1
    p2 set to 4x + 0
    (using line=4 1)
    Comparing 7
    to 4x + 0
    p1.compareTo(p2)> 0 is true
    File is not sorted.
    Much of the same; however, the first two iterations of p2 came out correctly almost: 7 and 4x + 0 (not sure why the 0 is there).

  20. #20
    pbrockway2 is offline Moderator
    Join Date
    Feb 2009
    Location
    New Zealand
    Posts
    4,565
    Rep Power
    12

    Default

    Progress! Now we are seeing the polynomials being set correctly. The zero is there becuase of how you implemented toString()

    Java Code:
    else if (deg == 1)
          return coef[1] + "x + " + coef[0]; // <-- coef[1] is 4, and coef[0] is 0

    But that's no big deal.

    The problem is now seen as being that when you compare the polynomial 7 to the polynomial 4x you get a number bigger than zero. (This is the traditional way of reporting the "fact" that 7>4x). Now do you expect 7 to be bigger than 4x? If not - if you expect 4x to be bigger because it has a higher degree - then you have to look at that compareTo() method to see if it is doing the right thing.

    And what, you ask, is the right thing? Here it is from the Comparable API docs: "Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object". Check your compareTo() to make sure it is doing that and not ... being ass backwards with those subtractions.

Page 1 of 2 12 LastLast

Similar Threads

  1. Replies: 6
    Last Post: 02-10-2011, 09:55 AM
  2. trouble with Scanner(new File("input"));
    By ronyosi in forum New To Java
    Replies: 9
    Last Post: 10-27-2010, 11:34 PM
  3. getDisplayLanguage returns "en" not "English"
    By DD70 in forum New To Java
    Replies: 6
    Last Post: 08-12-2009, 11:22 PM
  4. Count lines cointaining "word" in input file
    By gwithey in forum New To Java
    Replies: 5
    Last Post: 04-02-2009, 05:23 AM
  5. Replies: 1
    Last Post: 10-20-2008, 07:35 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •