2017-04-27 9 views
0

입력 할 숫자 (배수)를 사용자에게 묻는 콘솔 응용 프로그램을 작성해야합니다. 그 많은 수를 받아들이면 입력 한 모든 다른 수를 표시하십시오. 이중을 사용하려고하면 항상 오류가있는 것 같습니다. 또한이 오류가 발생합니다 "System.IndexOutOfRangeException 처리되지 않았습니다 HResult = -2146233080 메시지 = 인덱스가 배열 범위를 벗어났습니다." 루프하여 루프C# 콘솔 응용 프로그램에서 사용자의 다른 모든 숫자 표시

내가 함께 브레인 스토밍을 시도 할 수 있었다이 모든 코드에 대해 먼저이 라인

myArrai1[i] = int.Parse(Console.ReadLine());

에 대한 마지막 루프를 통과 한 후.

class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.Write("Enter Item Count: "); 
      int number = int.Parse(Console.ReadLine()); 
      int[] myArrai1 = new int[number]; 
      int i = 0; 
      for (i = 1; i <= number; i++) 
      { 
       Console.WriteLine("Enter Number " + i.ToString() + ": "); 
       myArrai1[i] = int.Parse(Console.ReadLine()); 

      } 

      for (i = 0; i < number; i++) 
      { 
       Console.WriteLine("Every other number entered: "); 
       Console.WriteLine(myArrai1[i += 2]); 
      } 

      Console.ReadLine(); 
     } 
    } 
} 
+0

다른 모든 숫자 의미는 인쇄 하나 건너 뛰시겠습니까? – Brian

답변

0

하지 너무 멀리 떨어져, 주요 변경이 루프 # 1 out of range 및 루프 # 2 ++의 2에 intervaling로 단순화되었다 방지하기 위해 0 인덱스로 설정 하였다 해결 해결합니다.

나머지 변경 사항은 미적 감각이었습니다. 입력 Console.WriteLine을 단지 Console.Write으로 변경하여 같은 줄에 입력을 유지하고 모든 반복마다 문자 대신 문을 출력 표시 루프 앞에 두도록 문을 이동했습니다.

Console.Write("Enter Item Count: "); 
int number = int.Parse(Console.ReadLine()); 
int[] myArrai1 = new int[number]; 
for (int i = 0; i < number; i++) { 
    Console.Write("Enter Number " + (i + 1) + ": "); 
    myArrai1[i] = int.Parse(Console.ReadLine()); 
} 
Console.WriteLine("Every other number entered: "); 
for (int j = 0; j < number; j = j + 2) { 
    Console.WriteLine(myArrai1[j]); 
}