Solved

largest number of the range

Posted on 2014-10-09
12
118 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
  • 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
 
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

This is about my first experience with programming Arduino.
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…

706 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

16 Experts available now in Live!

Get 1:1 Help Now