x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 217

# lucky13 challenge

Hi,

I am working on below challenge
http://codingbat.com/prob/p194525
I wrote my code as below
``````public boolean lucky13(int[] nums) {

boolean result=false;

int sum=0;
for(int n:nums){
if(n!=1&&n!=3)
result=true;

}
return result;

}
``````

I am not passing all tests.
Expected      Run
lucky13([0, 2, 4]) → true      true      OK
lucky13([1, 2, 3]) → false      true      X
lucky13([1, 2, 4]) → false      true      X
lucky13([2, 7, 2, 8]) → true      true      OK
lucky13([2, 7, 1, 8]) → false      true      X
lucky13([3, 7, 2, 8]) → false      true      X
lucky13([2, 7, 2, 1]) → false      true      X
lucky13([1, 2]) → false      true      X
lucky13([2, 2]) → true      true      OK
lucky13([2]) → true      true      OK
lucky13([3]) → false      false      OK
lucky13([]) → true      false      X
other tests
X

0
gudii9
• 3
• 3
• 2
• +3
2 Solutions

Commented:
``````public boolean lucky13(int[] nums) {
for(int y=0;y<nums.length;y++){if(nums[y]==1||nums[y]==3){return false;}}
return true;
}
``````
0

Senior Java ArchitectCommented:
Start with one of the tests that you're failing and try to figure out why it's failing.
0

Author Commented:
ok
0

Software engineerCommented:
You did it the wrong way.
As soon as you encounter a 1 or a 3 you can return false. (the rest of the items is not important anymore)
If you end the loop you can return true.

``````public boolean lucky13(int[] nums) {
for (int n:nums) {
if (n==1||n==3)
return false;
}
return true;
}
``````
0

Commented:
Once again, you have posted code that suggests you haven't even read the Challenge.
Where is there any indication that you have learned anything about the programming process over the past month and 20+ Challenge Questions?
1

Commented:
Or, if you want to avoid any loops at all, which might do you well :

``````public boolean lucky13(int[] nums) {
return !Arrays.toString(nums).contains("1")&&!Arrays.toString(nums).contains("3");
}
``````
0

Author Commented:
Psedo Code Description:

1. check each digit of array by looping in a for loop
2. if find either 1 o 2 then return false immediately
3. All other cases return true
0

Author Commented:
``````public class Lucky13 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//lucky13([1, 2, 3]) → false	true
System.out.println("value is-->"+lucky13[1, 2, 3] );

}

public boolean lucky13(int[] nums) {

boolean result = false;

int sum = 0;
for (int n : nums) {
if (n != 1 || n != 3)
return false;

}
return true;

}

}
``````

how to call my lucky13 method from main method. Compiler is complaining at line 7

Multiple markers at this line
- Syntax error, insert "]" to complete
Expression
- Syntax error on token "]", delete this
token
- lucky13 cannot be resolved to a
variable
0

Commented:
``````public class Lucky13 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//lucky13([1, 2, 3]) → false	true
int[] iA = {1,2,3};
System.out.println("value is-->"+lucky13(iA));

}

public static boolean lucky13(int[] nums) {

boolean result = false;

int sum = 0;
for (int n : nums) {
if (n != 1 || n != 3)
return false;

}
return true;

}

}
``````
0

Commented:
I have posted a serious Request for Attention:

gudii9 has approx 140,000 points in Java topic areas, but over the past month or so he has posted 30+ simple "Challenge" questions which seem to baffle him.  I actually believe he his doing this to aggravate the experts for fun.

This question is perhaps the best example of feigned incompetence.  I can ignore him, but that won't stop him from irritating other people and damaging the community.
1

Commented:
I empathize with all the experts that commented here. I have been frustrated by gudii9 in the past.  There were times that I questioned his sincerity.
Look at
https://www.experts-exchange.com/questions/28397347/multiple-chain-filter-example-in-java.html#a40010408
I must say that he has improved and has learned over the years. I think he took a lot of my advice. In fact, I was the one who taught him the difference between the words advise and advice.
In his profile, he posted "Working in Java, J2EE development area for many years".
He has been a member of EE for 8 years. He has earned 116,036 points and has a Master certification in Java. He has helped others. Look at
https://www.experts-exchange.com/questions/28089957/how-to-call-a-java-class.html
Many times I wondered whether he was one person or a group of people?
His unorthodox way of learning is difficult to understand. It is difficult to have patience with his endless follow up questions. His habit of working on a dozen questions at once, is crazy. I do admire him for his energy and for his thrist for knowledge. I wouldn't recommend that he be banished from EE.  He has come a long way. I think he should take a course on logic.
0
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.