How to make sure an array contains certain values? [duplicate]











up vote
0
down vote

favorite













This question already has an answer here:




  • How to 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;
}









share|improve this question















marked as duplicate by Hovercraft Full Of Eels java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

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 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 at 3:32






  • 2




    your for loop is wrong. try for(int row=0; row<9; row++)
    – Omurbek Kadyrbekov
    Nov 22 at 3:34










  • @HovercraftFullOfEels It's tagged with sudoku.
    – shmosel
    Nov 22 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 at 3:37










  • See also Iterating through a variable length array.
    – user1803551
    Nov 22 at 3:38

















up vote
0
down vote

favorite













This question already has an answer here:




  • How to 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;
}









share|improve this question















marked as duplicate by Hovercraft Full Of Eels java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

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 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 at 3:32






  • 2




    your for loop is wrong. try for(int row=0; row<9; row++)
    – Omurbek Kadyrbekov
    Nov 22 at 3:34










  • @HovercraftFullOfEels It's tagged with sudoku.
    – shmosel
    Nov 22 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 at 3:37










  • See also Iterating through a variable length array.
    – user1803551
    Nov 22 at 3:38















up vote
0
down vote

favorite









up vote
0
down vote

favorite












This question already has an answer here:




  • How to 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;
}









share|improve this question
















This question already has an answer here:




  • How to 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 to determine whether an array contains a particular value in Java?

    25 answers








java arrays sudoku






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 22 at 3:34









Hovercraft Full Of Eels

260k20210317




260k20210317










asked Nov 22 at 3:29









Sara

1




1




marked as duplicate by Hovercraft Full Of Eels java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

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 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 java
Users with the  java badge can single-handedly close java questions as duplicates and reopen them as needed.

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 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 at 3:32






  • 2




    your for loop is wrong. try for(int row=0; row<9; row++)
    – Omurbek Kadyrbekov
    Nov 22 at 3:34










  • @HovercraftFullOfEels It's tagged with sudoku.
    – shmosel
    Nov 22 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 at 3:37










  • See also Iterating through a variable length array.
    – user1803551
    Nov 22 at 3:38
















  • 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 at 3:32






  • 2




    your for loop is wrong. try for(int row=0; row<9; row++)
    – Omurbek Kadyrbekov
    Nov 22 at 3:34










  • @HovercraftFullOfEels It's tagged with sudoku.
    – shmosel
    Nov 22 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 at 3:37










  • See also Iterating through a variable length array.
    – user1803551
    Nov 22 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 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 at 3:32




2




2




your for loop is wrong. try for(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 at 3:34




your for loop is wrong. try for(int row=0; row<9; row++)
– Omurbek Kadyrbekov
Nov 22 at 3:34












@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 at 3:36




@HovercraftFullOfEels It's tagged with sudoku.
– shmosel
Nov 22 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 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 at 3:37












See also Iterating through a variable length array.
– user1803551
Nov 22 at 3:38






See also Iterating through a variable length array.
– user1803551
Nov 22 at 3:38














2 Answers
2






active

oldest

votes

















up vote
0
down vote













/**
* 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);
}





share|improve this answer






























    up vote
    -1
    down vote













    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.






    share|improve this answer




























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      0
      down vote













      /**
      * 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);
      }





      share|improve this answer



























        up vote
        0
        down vote













        /**
        * 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);
        }





        share|improve this answer

























          up vote
          0
          down vote










          up vote
          0
          down vote









          /**
          * 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);
          }





          share|improve this answer














          /**
          * 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);
          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 22 at 4:14

























          answered Nov 22 at 3:38









          Kartik

          2,50231331




          2,50231331
























              up vote
              -1
              down vote













              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.






              share|improve this answer

























                up vote
                -1
                down vote













                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.






                share|improve this answer























                  up vote
                  -1
                  down vote










                  up vote
                  -1
                  down vote









                  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.






                  share|improve this answer












                  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.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 22 at 3:36









                  PhaseRush

                  22115




                  22115















                      Popular posts from this blog

                      A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                      Calculate evaluation metrics using cross_val_predict sklearn

                      Insert data from modal to MySQL (multiple modal on website)