Solved

last digit ending with 7

Posted on 2014-10-10
9
113 Views
Last Modified: 2014-10-11
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
0
Comment
Question by:gudii9
9 Comments
 
LVL 7

Author Comment

by:gudii9
ID: 40373137
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
 
LVL 27

Expert Comment

by:rrz
ID: 40373181
What is wrong with the solution given when you click on the "Show Solution" button(at posted link)?
0
 
LVL 84

Accepted Solution

by:
ozo earned 350 total points
ID: 40373188
return a%10 == b%10;
0
 
LVL 7

Author Comment

by:gudii9
ID: 40373198
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 84

Expert Comment

by:ozo
ID: 40373213
return (a-b)%10 == 0;
0
 
LVL 7

Author Comment

by:gudii9
ID: 40373565
How both below statements are same? Please advise

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

return (a-b)%10 == 0;
0
 
LVL 26

Assisted Solution

by:dpearson
dpearson earned 150 total points
ID: 40374075
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
 
LVL 7

Author Comment

by:gudii9
ID: 40375100
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
 
LVL 84

Expert Comment

by:ozo
ID: 40375135
There are differences in how various languages handle % for negative integers, but all of them should agree when the answer is 0
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to implement Singleton Design Pattern in Java.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

863 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

28 Experts available now in Live!

Get 1:1 Help Now