Solved

largest number of the range

Posted on 2014-10-09
12
125 Views
Last Modified: 2014-10-09
Hi,

I am trying below challenge
http://codingbat.com/prob/p177372

I wrote code as below

public int max1020(int a, int b) {

If(a>=10 && a<=20 && b>=10 && b<=20)
{
if(Math.abs(10-a)>Math.abs(10-b))
{
return b;
}
return a;
}
return 0;
  
}

Open in new window



I am getting error as below

Compile problems:


Error:      If(a>=10 && a<=20 && b>=10 && b<=20)
                                         ^
Syntax error, insert ";" to complete BlockStatements




How to fix this error and improve above code. I really do not want return 0. I want to remove that line
But i cannot remove that line as the method is expecting return just before method closing braket(parenthesis)

Please advise
0
Comment
Question by:gudii9
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 5
12 Comments
 
LVL 7

Author Comment

by:gudii9
ID: 40371171
public int max1020(int a, int b) {


if(Math.abs(10-a)>Math.abs(10-b))
{
return b;
}
return a;
}

Open in new window


when i write like above failing test cases as i am not checking if numbers in range of 10,20

Expected      Run            
max1020(11, 19) → 19      11      X         
max1020(19, 11) → 19      11      X         
max1020(11, 9) → 11      11      OK         
max1020(9, 21) → 0      9      X         
max1020(10, 21) → 10      10      OK         
max1020(21, 10) → 10      10      OK         
max1020(9, 11) → 11      9      X         
max1020(23, 10) → 10      10      OK         
max1020(20, 10) → 20      10      X         
max1020(7, 20) → 20      7      X         
max1020(17, 16) → 17      16      X
0
 
LVL 7

Author Comment

by:gudii9
ID: 40371174
when i put the condition check for 10,20 range i am getting errors as posted in my original question. please advise
0
 
LVL 84

Accepted Solution

by:
ozo earned 500 total points
ID: 40371215
You misspelled 'if' as 'If'

change the 'I' to 'i' and java should be able to compile it.
0
Business Impact of IT Communications

What are the business impacts of how well businesses communicate during an IT incident? Targeting, speed, and transparency all matter. Find out more in this infographic.

 
LVL 7

Author Comment

by:gudii9
ID: 40371256
Good catch. I wonder why i could not noticed it.

public int max1020(int a, int b) {

if(a>=10 && a<=20 && b>=10 && b<=20)
{
if(Math.abs(10-a)>Math.abs(10-b))
{
return b;
}
return a;
}
return 0;
  
}

Open in new window


i still have failed test cases which i need to fix

Expected      Run            
max1020(11, 19) → 19      11      X         
max1020(19, 11) → 19      11      X         
max1020(11, 9) → 11      0      X         
max1020(9, 21) → 0      0      OK         
max1020(10, 21) → 10      0      X         
max1020(21, 10) → 10      0      X         
max1020(9, 11) → 11      0      X         
max1020(23, 10) → 10      0      X         
max1020(20, 10) → 20      10      X         
max1020(7, 20) → 20      0      X         
max1020(17, 16) → 17      16      X
0
 
LVL 7

Author Comment

by:gudii9
ID: 40371260
public int max1020(int a, int b) {

if(a>=10 && a<=20 && b>=10 && b<=20)
{
if(a>b)
{
return a;
}
return b;
}
return 0;
  
}

Open in new window


modified as above still failing below

Expected      Run            
max1020(11, 19) → 19      19      OK         
max1020(19, 11) → 19      19      OK         
max1020(11, 9) → 11      0      X         
max1020(9, 21) → 0      0      OK         
max1020(10, 21) → 10      0      X         
max1020(21, 10) → 10      0      X         
max1020(9, 11) → 11      0      X         
max1020(23, 10) → 10      0      X         
max1020(20, 10) → 20      20      OK         
max1020(7, 20) → 20      0      X         
max1020(17, 16) → 17      17      OK         
Your progress graph for this problem
0
 
LVL 7

Author Comment

by:gudii9
ID: 40371265
max1020(11, 9) → 11      0      X

how this is 11. I thought it supposed to return 0 as per challenge.

Please advise
0
 
LVL 84

Expert Comment

by:ozo
ID: 40371268
You want to return 0 only when neither is in that range.
You are returning 0 unless both are in that range.

Also, you want the largest number, not the number that is closest to 10
0
 
LVL 84

Expert Comment

by:ozo
ID: 40371294
You corrected the part about returning the largest number instead of the number closest to 10
but are you understanding what " if neither is in that range. " means?
0
 
LVL 7

Author Comment

by:gudii9
ID: 40371321
" if neither is in that range. "

yes

like 5,14 for  a and b
0
 
LVL 84

Expert Comment

by:ozo
ID: 40371328
Is a in that range?
Is b in that range?
Are neither in that range?
0
 
LVL 7

Author Comment

by:gudii9
ID: 40371352
public int max1020(int a, int b) {

if((a>=10 && a<=20)&&(b>=10 && b<=20))
{
if(a>b)
{
return a;
}
return b;
}
else if(a>=10 && a<=20)
return a;

else if(b>=10 && b<=20)
return b;

else

return 0;

  
}

Open in new window


this seems all passing
0
 
LVL 84

Expert Comment

by:ozo
ID: 40371378
I agree
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
$_GET call between URL 3 67
activeMQ Queue Messages Enqueued and Messages Dequeued 1 106
junit initializtion error 2 20
How do I buy BitCoin? 4 27
This is an explanation of a simple data model to help parse a JSON feed
Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Suggested Courses

734 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