last digit ending with 7

Hi,
I am trying below challenge

http://codingbat.com/prob/p125339

I wrote as below

public boolean lastDigit(int a, int b) {
if(a%10==7 && b%7==7){
return true;
}
return false;

 
}


I have test cases failing as below
Expected      Run            
lastDigit(7, 17) → true      false      X         
lastDigit(6, 17) → false      false      OK         
lastDigit(3, 113) → true      false      X         
lastDigit(114, 113) → false      false      OK         
lastDigit(114, 4) → true      false      X         
lastDigit(10, 0) → true      false      X         
lastDigit(11, 0) → false      false      OK         


How to improve and fix my program
LVL 7
gudii9Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

gudii9Author Commented:
public boolean lastDigit(int a, int b) {
if(a%10==7&& b%10==7){
return true;
}

if(a%10==7&& b%10==7){
return true;
}

if(a%10==1&& b%10==1){
return true;
}

if(a%10==2&& b%10==2){
return true;
}

if(a%10==3&& b%10==3){
return true;
}

if(a%10==7&& b%10==7){
return true;
}

if(a%10==4&& b%10==4){
return true;
}

if(a%10==5&& b%10==5){
return true;
}

if(a%10==6&& b%10==6){
return true;
}

if(a%10==8&& b%10==8){
return true;
}

if(a%10==9&& b%10==9){
return true;
}

if(a%10==0&& b%10==0){
return true;
}
return false;

  
}

Open in new window



Expected      Run            
lastDigit(7, 17) → true      true      OK         
lastDigit(6, 17) → false      false      OK         
lastDigit(3, 113) → true      true      OK         
lastDigit(114, 113) → false      false      OK         
lastDigit(114, 4) → true      true      OK         
lastDigit(10, 0) → true      true      OK         
lastDigit(11, 0) → false      false      OK         

Actually i modifed the code but still looks lengthy code. Please advise how to simplify and improve my code above
0
rrzCommented:
What is wrong with the solution given when you click on the "Show Solution" button(at posted link)?
0
ozoCommented:
return a%10 == b%10;
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

gudii9Author Commented:
I would like to work the solution myself and improve and correct my own mistakes. I am not looking at the solutions at this point as they seems too complex for me at times.
0
ozoCommented:
return (a-b)%10 == 0;
0
gudii9Author Commented:
How both below statements are same? Please advise

return(a % 10 == b % 10);
 

return (a-b)%10 == 0;
0
dpearsonCommented:
a % 10 returns the remainder when you divide by 10.  So "15 % 10" is 5.

So (a % 10 == b % 10) is true when both a and b have the same remainder when divided by 10.  E.g 25 and 15.

(a - b) % 10 returns the remainder when you divide the difference between the two values by 10.

So if we go back to our example (25 and 15) then the difference is 10 and if we figure out the remainder when we divide that by 10, we'll get 0.

So they're just 2 equivalent ways of saying the same thing.
For my money "a % 10 == b % 10" is the clearer of the two.

Doug
0
gudii9Author Commented:
So if we go back to our example (25 and 15)

Open in new window


instead if i pass (15 and 25) difference is -10(not positive number)
still the reminder does not effect right? it is still 0.

Please advise
0
ozoCommented:
There are differences in how various languages handle % for negative integers, but all of them should agree when the answer is 0
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.