wood burning stoves 2.0*
The moose likes Beginning Java and the fly likes logic problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "logic problem" Watch "logic problem" New topic
Author

logic problem

Bhargav Patel
Greenhorn

Joined: Oct 15, 2012
Posts: 1
hii..i am totally new to java when i compile this code it's run successful..but not get desired code...whts problem with it?
it's simple program to find largest among arrays..

nir sharma
Ranch Hand

Joined: Sep 11, 2012
Posts: 72


you need to understand what is happening in this loop.
you are only checking values at j and j+1 position in the array, and replacing the previous value of k with the new value.
you need to check whether the new value the you get from the max function is greater than the value of k or not, if not then you should not replace it.
you need to write the code on your own.
Lexington Smith
Ranch Hand

Joined: Sep 29, 2012
Posts: 67


Run this code and see the output.
nir sharma
Ranch Hand

Joined: Sep 11, 2012
Posts: 72

@Lexington Smith
can you tell me what different you are doing in your code , because I am unable to find the difference and hence the same result.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38075
    
  22
Welcome to the Ranch
What did you expect to happen and what actually happened? You need to tell us that if we are to help. Also, I have added code tags, which you should always use, and you can see how much better the code looks.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38075
    
  22
Lexington Smith wrote: . . .
. . . .
Not convinced. I think that line you have added will produce interesting results. What do you think the output will be from {12, 54, 44, 34}?
Swathi Kodeboyina
Greenhorn

Joined: Jul 31, 2012
Posts: 7
@ Bhargav Patel.

The value of k is replaced every time in the loop. The value of k should be changed only if Math.max(i[j],i[j+1]) is greater than k.


i hope this solves your problem according to what i assume your problem is. If not, tell what is the output you need?
Lexington Smith
Ranch Hand

Joined: Sep 29, 2012
Posts: 67
Campbell Ritchie wrote:
Lexington Smith wrote: . . .
. . . .
Not convinced. I think that line you have added will produce interesting results. What do you think the output will be from {12, 54, 44, 34}?


Yes, I made a mistake. Corrected the code -



There is a bug though - if all numbers in array are negative, then your code will give 0 as the result.
Gaurangkumar Khalasi
Ranch Hand

Joined: Jun 02, 2012
Posts: 186
Bhargav Patel wrote:...whts problem with it?


fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11170
    
  16

Bhargav,

A couple of suggestions..

First, I would use more descriptive variable names. "k" doesn't tell me anything. however, "maxFound" tells me EXACTLY what it means...

If you want to see why your code doesn't work, put a bunch of System.out.println() statements in it to see what it is REALLY doing. something like this:


>


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: logic problem
 
Similar Threads
combination generator
error while running the program
Local Variables
can any one explain Two -Dimensional Arrays (code)
simple q but just to confirm