2016-10-26 2 views
-1

Как назначить переменные 1 и 0 массиву, а цикл - изменить переменную, которая будет назначена следующей позиции в этом массиве?Как назначить переменные массивам внутри цикла коммутатора

int number[] = new int[10]; 
for(int i=0; i<10; i++) 
{ 
    Scanner attendance = new Scanner(System.in); 
    int inp = attendance.nextInt(); 
    int y = inp; 
    switch (inp) 
    { 
    case 1: 
     number[y] = 1; 
     y--; 
     break; 
    case 0: 
     number[y] = 0; 
     y--; 
     break; 
    } 
+0

Какие переменные вы хотите назначить? – Geeky

+1

Вам нужно добавить тег для какого языка. Это влияет на раскраску синтаксиса, а также помогает тем, кто может ответить на вопрос, найти вопрос. – crashmstr

+0

Это Java? Не возражаете ли вы добавить правильный тег языка? –

ответ

0

Как это в настоящее время установки, если пользователь не знает, чтобы использовать только 0 или 1 ваш идти, чтобы получить ошибку из-за способа переключатель установки убедитесь, что вы имеете дело по умолчанию, как он получит все значения за пределами запрошенных.

Другая проблема может заключаться в том, что кто-то скажет 23 для y. Вы получите ошибку ArrayOutOfBounds. Это связано с тем, что y - это положение, в котором оно будет вставлять 1 или 0.

В случае, если вы хотите, чтобы он переместился на следующее место в массиве, сделайте то, что сказал Дэвид Уоллес, и поместите новую переменную, выделенную в массив, так что в течение цикла будет

for(int i = 0; i<10; i++;) { 

Тогда есть массив чисел изменить свою позицию, пометив место, как

numbers[i] = x; 
0

Вот пример, вы можете быть в состоянии адаптироваться:

import java.util.Arrays; 
import java.util.Scanner; 

public class StackOverflow40268692 { 

    public static void main(String... args) { 
    final int number[] = new int[10]; 
    System.out.println("Please enter ten attendance numbers. One and zero are valid entries."); 
    final Scanner attendance = new Scanner(System.in); 
    for (int i = 0; i < 10; i++) { 
     System.out.println("Please enter attendance number for position " + i); 
     final int inp = attendance.nextInt(); 
     switch (inp) { 
     case 1: 
     case 0: 
      number[i] = inp; 
      break; 
     default: 
      System.out.println("Invalid entry."); 
      i--; 
     } 
    } 
    System.out.println("Collected data: " + Arrays.toString(number)); 
    } 
}