How to make sure an array contains certain values? [duplicate]
This question already has an answer here:
How do I determine whether an array contains a particular value in Java?
25 answers
I am new to coding and I am wondering how I can make sure a specific array contains certain values?
This is what I have but it is not working for me. I have tried searing the internet for a solution but I am confused by a lot of them. Any feedback helps!
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
boolean found = new boolean[9]; // creates a boolean array
for (int row = 0; row > 1 && row > 9; row++) {
int index = arr[row] - 1;
if(!found[index]) {
found[index] = true;
} else{
return false; //returns false if there are numbers that are not between 1-9
}
}
return true;
}
java arrays sudoku
marked as duplicate by Hovercraft Full Of Eels
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 22 '18 at 8:51
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
|
show 1 more comment
This question already has an answer here:
How do I determine whether an array contains a particular value in Java?
25 answers
I am new to coding and I am wondering how I can make sure a specific array contains certain values?
This is what I have but it is not working for me. I have tried searing the internet for a solution but I am confused by a lot of them. Any feedback helps!
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
boolean found = new boolean[9]; // creates a boolean array
for (int row = 0; row > 1 && row > 9; row++) {
int index = arr[row] - 1;
if(!found[index]) {
found[index] = true;
} else{
return false; //returns false if there are numbers that are not between 1-9
}
}
return true;
}
java arrays sudoku
marked as duplicate by Hovercraft Full Of Eels
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 22 '18 at 8:51
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
3
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
2
your for loop is wrong. tryfor(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
1
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38
|
show 1 more comment
This question already has an answer here:
How do I determine whether an array contains a particular value in Java?
25 answers
I am new to coding and I am wondering how I can make sure a specific array contains certain values?
This is what I have but it is not working for me. I have tried searing the internet for a solution but I am confused by a lot of them. Any feedback helps!
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
boolean found = new boolean[9]; // creates a boolean array
for (int row = 0; row > 1 && row > 9; row++) {
int index = arr[row] - 1;
if(!found[index]) {
found[index] = true;
} else{
return false; //returns false if there are numbers that are not between 1-9
}
}
return true;
}
java arrays sudoku
This question already has an answer here:
How do I determine whether an array contains a particular value in Java?
25 answers
I am new to coding and I am wondering how I can make sure a specific array contains certain values?
This is what I have but it is not working for me. I have tried searing the internet for a solution but I am confused by a lot of them. Any feedback helps!
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
boolean found = new boolean[9]; // creates a boolean array
for (int row = 0; row > 1 && row > 9; row++) {
int index = arr[row] - 1;
if(!found[index]) {
found[index] = true;
} else{
return false; //returns false if there are numbers that are not between 1-9
}
}
return true;
}
This question already has an answer here:
How do I determine whether an array contains a particular value in Java?
25 answers
java arrays sudoku
java arrays sudoku
edited Nov 22 '18 at 3:34
Hovercraft Full Of Eels
262k20213319
262k20213319
asked Nov 22 '18 at 3:29
SaraSara
11
11
marked as duplicate by Hovercraft Full Of Eels
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 22 '18 at 8:51
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by Hovercraft Full Of Eels
StackExchange.ready(function() {
if (StackExchange.options.isMobile) return;
$('.dupe-hammer-message-hover:not(.hover-bound)').each(function() {
var $hover = $(this).addClass('hover-bound'),
$msg = $hover.siblings('.dupe-hammer-message');
$hover.hover(
function() {
$hover.showInfoMessage('', {
messageElement: $msg.clone().show(),
transient: false,
position: { my: 'bottom left', at: 'top center', offsetTop: -7 },
dismissable: false,
relativeToBody: true
});
},
function() {
StackExchange.helpers.removeMessages();
}
);
});
});
Nov 22 '18 at 8:51
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
3
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
2
your for loop is wrong. tryfor(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
1
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38
|
show 1 more comment
3
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
2
your for loop is wrong. tryfor(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
1
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38
3
3
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
2
2
your for loop is wrong. try
for(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
your for loop is wrong. try
for(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
1
1
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38
|
show 1 more comment
2 Answers
2
active
oldest
votes
/**
* Checks if this array consists of numbers 1 to 9, with all unique numbers,
* and no number missing.
*
* @param arr input array
* @return true if this array has numbers 1 to 9, each occurring exactly once
*/
public static boolean allnumbers(int arr) {
if (arr.length != 9) return false;
return IntStream.rangeClosed(1, 9)
.noneMatch(value -> Arrays.stream(arr).noneMatch(a -> a == value));
}
Another way...
public static boolean allnumbers(int arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toSet())
.equals(IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet()));
}
Or if you want to check only the fact that no number is outside the range of 1-9, you can use this:-
public static boolean allnumbers(int arr) {
return Arrays.stream(arr)
.noneMatch(i -> i < 1 || i > 9);
}
add a comment |
This is a solution for your problem:
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
for(int row=0; row < 9; row++){
if (arr[row] < 1 || arr[row] > 9)
return false;
}
return true;
}
this function will return true if and only if and only if the first 9 elements in arr are between 1 and 9 inclusive.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
/**
* Checks if this array consists of numbers 1 to 9, with all unique numbers,
* and no number missing.
*
* @param arr input array
* @return true if this array has numbers 1 to 9, each occurring exactly once
*/
public static boolean allnumbers(int arr) {
if (arr.length != 9) return false;
return IntStream.rangeClosed(1, 9)
.noneMatch(value -> Arrays.stream(arr).noneMatch(a -> a == value));
}
Another way...
public static boolean allnumbers(int arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toSet())
.equals(IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet()));
}
Or if you want to check only the fact that no number is outside the range of 1-9, you can use this:-
public static boolean allnumbers(int arr) {
return Arrays.stream(arr)
.noneMatch(i -> i < 1 || i > 9);
}
add a comment |
/**
* Checks if this array consists of numbers 1 to 9, with all unique numbers,
* and no number missing.
*
* @param arr input array
* @return true if this array has numbers 1 to 9, each occurring exactly once
*/
public static boolean allnumbers(int arr) {
if (arr.length != 9) return false;
return IntStream.rangeClosed(1, 9)
.noneMatch(value -> Arrays.stream(arr).noneMatch(a -> a == value));
}
Another way...
public static boolean allnumbers(int arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toSet())
.equals(IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet()));
}
Or if you want to check only the fact that no number is outside the range of 1-9, you can use this:-
public static boolean allnumbers(int arr) {
return Arrays.stream(arr)
.noneMatch(i -> i < 1 || i > 9);
}
add a comment |
/**
* Checks if this array consists of numbers 1 to 9, with all unique numbers,
* and no number missing.
*
* @param arr input array
* @return true if this array has numbers 1 to 9, each occurring exactly once
*/
public static boolean allnumbers(int arr) {
if (arr.length != 9) return false;
return IntStream.rangeClosed(1, 9)
.noneMatch(value -> Arrays.stream(arr).noneMatch(a -> a == value));
}
Another way...
public static boolean allnumbers(int arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toSet())
.equals(IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet()));
}
Or if you want to check only the fact that no number is outside the range of 1-9, you can use this:-
public static boolean allnumbers(int arr) {
return Arrays.stream(arr)
.noneMatch(i -> i < 1 || i > 9);
}
/**
* Checks if this array consists of numbers 1 to 9, with all unique numbers,
* and no number missing.
*
* @param arr input array
* @return true if this array has numbers 1 to 9, each occurring exactly once
*/
public static boolean allnumbers(int arr) {
if (arr.length != 9) return false;
return IntStream.rangeClosed(1, 9)
.noneMatch(value -> Arrays.stream(arr).noneMatch(a -> a == value));
}
Another way...
public static boolean allnumbers(int arr) {
return Arrays.stream(arr).boxed().collect(Collectors.toSet())
.equals(IntStream.rangeClosed(1, 9).boxed().collect(Collectors.toSet()));
}
Or if you want to check only the fact that no number is outside the range of 1-9, you can use this:-
public static boolean allnumbers(int arr) {
return Arrays.stream(arr)
.noneMatch(i -> i < 1 || i > 9);
}
edited Nov 22 '18 at 4:14
answered Nov 22 '18 at 3:38
KartikKartik
4,46731537
4,46731537
add a comment |
add a comment |
This is a solution for your problem:
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
for(int row=0; row < 9; row++){
if (arr[row] < 1 || arr[row] > 9)
return false;
}
return true;
}
this function will return true if and only if and only if the first 9 elements in arr are between 1 and 9 inclusive.
add a comment |
This is a solution for your problem:
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
for(int row=0; row < 9; row++){
if (arr[row] < 1 || arr[row] > 9)
return false;
}
return true;
}
this function will return true if and only if and only if the first 9 elements in arr are between 1 and 9 inclusive.
add a comment |
This is a solution for your problem:
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
for(int row=0; row < 9; row++){
if (arr[row] < 1 || arr[row] > 9)
return false;
}
return true;
}
this function will return true if and only if and only if the first 9 elements in arr are between 1 and 9 inclusive.
This is a solution for your problem:
public static boolean allnumbers(int arr) {// makes sure only numbers 1-9 are used
for(int row=0; row < 9; row++){
if (arr[row] < 1 || arr[row] > 9)
return false;
}
return true;
}
this function will return true if and only if and only if the first 9 elements in arr are between 1 and 9 inclusive.
answered Nov 22 '18 at 3:36
PhaseRushPhaseRush
22618
22618
add a comment |
add a comment |
3
This isn't for a Sudoku type of program, is it? Also, keep fluff out of your question, such as "I have tried searching.... but I am confused...". Instead show specifically what you've found and state specifically how it confuses you. Try to include information that helps clarify and specify your question.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:32
2
your for loop is wrong. try
for(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 '18 at 3:34
@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 '18 at 3:36
1
Ah thanks @shmosel, didn't see that. Original poster, then you really aren't using numbers at all, but 9 distinct symbols. Use an enum instead of ints.
– Hovercraft Full Of Eels
Nov 22 '18 at 3:37
See also Iterating through a variable length array.
– user1803551
Nov 22 '18 at 3:38