Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > compare biggest negative number

Reply
Thread Tools

compare biggest negative number

 
 
w00
Guest
Posts: n/a
 
      11-22-2006
Hello, i have to write a program in java where i have to enter three
different numbers, and it will output the largest number. So for
example:

input: 2, 4 ,6 => output: 7
input: 5, 2 ,1 => output: 5
input: 7, 9 ,3 => output: 9

My program works well, but not with negative values, cause it always
returns a 0.
So if i would enter the following:

input: -2, -4 -,6

Then the output should be -2, but i get a '0' instead. Any idea why
this is happening and what i can do to fix it?
Here's my code:

import javax.swing.*;

public class test
{
public static void main(String args[])
{
String input;
int intNum;
int prevNum=0;
int output=0;

for(int i=0; i<3; i++)
{
input = JOptionPane.showInputDialog(null,"Geef een
nummer","input",JOptionPane.INFORMATION_MESSAGE);
intNum = Integer.parseInt(input);

if(prevNum < intNum)
{
prevNum = intNum;
}

}
JOptionPane.showMessageDialog(null,"Het grootste getal is:
"+prevNum,"getal",JOptionPane.INFORMATION_MESSAGE) ;


}
}

 
Reply With Quote
 
 
 
 
Karl Uppiano
Guest
Posts: n/a
 
      11-22-2006

"w00" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> Hello, i have to write a program in java where i have to enter three
> different numbers, and it will output the largest number. So for
> example:
>
> input: 2, 4 ,6 => output: 7
> input: 5, 2 ,1 => output: 5
> input: 7, 9 ,3 => output: 9
>
> My program works well, but not with negative values, cause it always
> returns a 0.
> So if i would enter the following:
>
> input: -2, -4 -,6
>
> Then the output should be -2, but i get a '0' instead. Any idea why
> this is happening and what i can do to fix it?
> Here's my code:
>
> import javax.swing.*;
>
> public class test
> {
> public static void main(String args[])
> {
> String input;
> int intNum;
> int prevNum=0;
> int output=0;
>
> for(int i=0; i<3; i++)
> {
> input = JOptionPane.showInputDialog(null,"Geef een
> nummer","input",JOptionPane.INFORMATION_MESSAGE);
> intNum = Integer.parseInt(input);
>
> if(prevNum < intNum)
> {
> prevNum = intNum;
> }
>
> }
> JOptionPane.showMessageDialog(null,"Het grootste getal is:
> "+prevNum,"getal",JOptionPane.INFORMATION_MESSAGE) ;
>
>
> }
> }


You are initializing prevNum to zero. So with all negative inputs, it is the
largest number in your test for the largest number. For this to work for all
integers, you need to initialize prevNum to the most negative integer.


 
Reply With Quote
 
 
 
 
Hendrik Maryns
Guest
Posts: n/a
 
      11-22-2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

w00 schreef:
> Hello, i have to write a program in java where i have to enter three
> different numbers, and it will output the largest number. So for
> example:
>
> input: 2, 4 ,6 => output: 7
> input: 5, 2 ,1 => output: 5
> input: 7, 9 ,3 => output: 9
>
> My program works well, but not with negative values, cause it always
> returns a 0.
> So if i would enter the following:
>
> input: -2, -4 -,6
>
> Then the output should be -2, but i get a '0' instead. Any idea why
> this is happening and what i can do to fix it?
> Here's my code:
>
> import javax.swing.*;
>
> public class test
> {
> public static void main(String args[])
> {
> String input;
> int intNum;
> int prevNum=0;


Here you initiate the previous number to 0.

> int output=0;
>
> for(int i=0; i<3; i++)
> {

<snip>
>
> if(prevNum < intNum)
> {
> prevNum = intNum;
> }


And here you set the previous number to the current number if it is
smaller. Now think what would happen if all intNums are negative.

<snip>

Maybe you should choose a better number to initiate prevNum with. (Some
static number in Integer comes to mind.)

HTH, H.
- --
Hendrik Maryns
http://tcl.sfs.uni-tuebingen.de/~hendrik/
==================
http://aouw.org
Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFFZBIoe+7xMGD3itQRAhQIAJ43vgHJAZanbTzeLry2kl JvNIb6SACfZl+y
3yZnYPBFhDCWlkw/Ov7K730=
=cLTk
-----END PGP SIGNATURE-----
 
Reply With Quote
 
w00
Guest
Posts: n/a
 
      11-22-2006
Oh yeah, you're right. It works now. Thanks for your help

 
Reply With Quote
 
Daniel Pitts
Guest
Posts: n/a
 
      11-22-2006

w00 wrote:
> Hello, i have to write a program in java where i have to enter three
> different numbers, and it will output the largest number. So for
> example:
>
> input: 2, 4 ,6 => output: 7
> input: 5, 2 ,1 => output: 5
> input: 7, 9 ,3 => output: 9
>
> My program works well, but not with negative values, cause it always
> returns a 0.
> So if i would enter the following:
>
> input: -2, -4 -,6
>
> Then the output should be -2, but i get a '0' instead. Any idea why
> this is happening and what i can do to fix it?
> Here's my code:
>
> import javax.swing.*;
>
> public class test
> {
> public static void main(String args[])
> {
> String input;
> int intNum;
> int prevNum=0;
> int output=0;
>
> for(int i=0; i<3; i++)
> {
> input = JOptionPane.showInputDialog(null,"Geef een
> nummer","input",JOptionPane.INFORMATION_MESSAGE);
> intNum = Integer.parseInt(input);
>
> if(prevNum < intNum)
> {
> prevNum = intNum;
> }
>
> }
> JOptionPane.showMessageDialog(null,"Het grootste getal is:
> "+prevNum,"getal",JOptionPane.INFORMATION_MESSAGE) ;
>
>
> }
> }


// FindMax.java
import java.util.*;

public class FindMax {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Usage: java FindMax [number] [number]
[number...]");
}
String max = Collections.max(Arrays.asList(args), new
Comparator<String>() {
public int compare(String a, String b) {
return
Integer.valueOf(a).compareTo(Integer.valueOf(b));
}
});
System.out.println("The largest number is: " + max);
}
}

// End of FindMax.java

javac FindMax.java
java FindMax 10 -10 42 -301 4213 4444

 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      11-27-2006
Hendrik Maryns wrote:

> Maybe you should choose a better number to initiate prevNum with. (Some
> static number in Integer comes to mind.)


Or you could use element [0] of the array.

- Lew
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
what is the biggest number that i can send toWave_write.writeframes(data) '2+ Python 1 06-04-2009 09:28 AM
Re: Adding a positive number and a negative number MRAB Python 2 01-31-2009 02:41 AM
Adding a positive number and a negative number EK Python 0 01-30-2009 04:13 AM
How to represent the biggest number in a system fdmfdmfdm@gmail.com C Programming 29 03-18-2007 10:00 PM
Negative setup and Negative hold prem_eda VHDL 5 10-11-2004 12:14 PM



Advertisments