Solved

comparing sign of two numbers

Posted on 2014-10-02
6
104 Views
Last Modified: 2014-10-02
Hi,
I was going through below link
http://codingbat.com/prob/p192082



I wrote solution as below

public boolean icyHot(int temp1, int temp2) {
  if(temp1<0 && temp2>100)
  {
  return true;
  }
 
   if(temp1>0 && temp2<100)
  {
  return true;
  }
  return false;
}



I saw given solution as below


public boolean icyHot(int temp1, int temp2) {
  if ((temp1 < 0 && temp2 > 100) || (temp1 > 100 && temp2 < 0)) {
    return true;
  } else {
    return false;
  }
  // Could be written as: return ((temp1 < 0 && ...));
}

can the natural flow of next line can be written always after || (which is the only difference i see from my program.

Please advise
0
Comment
Question by:gudii9
6 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 300 total points
ID: 40357829
if( a ){
  return true;
}
if( b ){
  return true;
}
return false;

is equivalent to

if( (a) || (b) ){
  return true;
}else{
  return false;
}
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 40357836
Can you please clarify your question?
0
 
LVL 7

Author Comment

by:gudii9
ID: 40357893
public boolean icyHot(int temp1, int temp2) {


if( (a) || (b) ){
  return true;
}


}

Open in new window


why above code wont compile?  Giving return statement in if loop alone is not sufficient. Do i need to give outside if loop also?
please advise.
0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 200 total points
ID: 40357898
Because you don't have a return statement outside of the if block. Think about it this way:  If your code never entered the if block, what would it return? We cannot tell because you have not defined anything.
0
 
LVL 84

Expert Comment

by:ozo
ID: 40357904
Because you didn't define a and b

(The equivalent form would also not compile for equivalent reason)

I see no loop in your code, so I don't understand your last comment.
0
 
LVL 26

Expert Comment

by:dpearson
ID: 40357905
Your original solution is fine and just as good as the "given solution" on the website.

As you said, the only difference is that they put the two conditions together with an "||" (or) and you broke them out into separate lines.  Either approach is fine.

I think you misunderstood what ozo posted.  He was basically saying that the two solutions are equivalent (he just said it in code).

Doug
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
Having just graduated from college and entered the workforce, I don’t find myself always using the tools and programs I grew accustomed to over the past four years. However, there is one program I continually find myself reverting back to…R.   So …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now