2014-10-21 2 views
0

Не уверен, нужно ли создавать новую тему или нет. но я отправлю его здесь. Я понял, что мое объяснение не очень хорошее.java, сравнивая значения в массивах

я есть класс ниже

позволяет говорить ИНТ [] = 1204, 1205

public class Job { 

private int[] serviceCode =;  

public Job (int[] jobCode) { 


serviceCode = jobCode; 

}

public int[] getJobCode() { 
    return serviceCode; 
} 

и это основная программа

public class MainProgram { 

public static void main { 



} 

}

как я могу поместить значения массива в отдельные целые числа?

+3

Оставьте свой код. – Kon

+2

дисковое пространство дешево, используйте значащие имена переменных! –

+0

вы не можете просто сказать h == t, потому что h является массивом, а t является целым числом ... – nafas

ответ

3

Вы не можете сравниться с int[] с номером int. Вам нужно получить доступ к значению в массиве, а затем сравнить.

int[] myArray = {1, 2, 3}; 
int value = 1; 
if (myArray[0] == value) {/*do something*/} 
2

Вы не можете сравнить массив с переменной, которая содержит только одни данные.

Вы знаете, массив представляет собой структуру данных.

Вы должны пройти через массив, а затем сравнить каждое значение массива с t.

for(int i = 0; i < h.length; i++) { 

    if(t == h[i]) // Or any other comparison operator 
     /* Perform some action.*/; 
} 
1

Ваш int[] h массив целых чисел, а int t просто целая переменная. Таким образом, сравнение не представляется возможным. Согласно вашему типу вопроса java comparing values in arrayshere is an answer.

Либо вы можете проверить, существует ли это значение в массиве в цикле for.

int val = 1; 
int[] valArray = {1,2,3,4,5}; 
for(int i = 0; i < valArray.length ; i++) 
{ 
    if (valArray[i] == val) 
     {// Matched 
     } 
    else 
     { // Not matched 
     } 

} 
0

Массива является непрерывной областью памяти для того, чтобы получить конкретные значения из каждого адресуемого блока, вы должны получить доступ к этому адресуемому месту. Предположим, вы объявляете такой массив.

int[] array = {10,20,30}; 

Это сделает выделение памяти, как это: (позволяет 0th элемент по адресу 100 и предполагая размер ИНТ из 4 byte)

index  0  1  2 
     ----------------------- 
     | 10 | 20 | 30 | 
     ----------------------- 
address: 100 104 108 

Массив array имя в основном базовую форму адреса, где массив начинается в этом случае 100, следующий элемент будет присутствовать на 104 и 108.

Теперь скажем, что у нас есть целочисленная переменная: int temp=100. Теперь, чтобы сравнить элемент массива с целочисленной переменной temp, мы должны получить доступ к каждому элементу array типа integer, расположенному по определенному индексу. Вы должны сравнить:

for(int i=0; i<array.length; i++){ 
    if(temp>array[i]) /*array[i] is accessing the value at index i"*/ 
      //do something 
    else 
      //do something. 
} 
Смежные вопросы