2013-12-26 1 views
-4

Я начинаю.Как узнать, есть ли определенное значение в массиве?

Я попытался найти, если определенное значение находится в массиве. то есть, если mnth находится в месяце1 [].

Почему этот код показывает исключение во время выполнения:

ArrayIndexOutOfBoundsException. 

Как избежать этого исключения?

Как найти, если определенное значение находится в массиве? с циклом for я пытался это сделать.

, пожалуйста, скажите мне, где я ошибаюсь.

Заранее спасибо.

import java.util.*; 
import java.lang.*; 
import java.io.*; 

/* Name of the class has to be "Main" only if the class is public. */ 
class Ideone { 
    public static void main(String[] args) throws java.lang.Exception { 
      Scanner scanner = new Scanner(System.in); 
     String dt = scanner.nextLine(); 
     String[] date = new String[3]; 
     date = dt.split("/"); 
      System.out.println(date[0]); 
      int yr = Integer.valueOf(date[0]); 
     int mnth = Integer.valueOf(date[1]); 
      int day = Integer.valueOf(date[2]); 
      int[] month1 = { 1, 3, 5, 7, 8, 10, 12 }; 
      int i; 
      boolean x=false; 
     for (i = 0; mnth != month1[i]&&i<=2&&x==false; i++) { 
      x = yr % 2 == 0 && mnth == 2 ? day <= 29: mnth == 2 ? day <= 28 : mnth == month[i] ? day <= 31 : day <= 30; 
       } 
     System.out.println("" + x); 

    } 
} 
+0

Какая ошибка ???? В момент времени доступны только исключения. Ошибка выполнения Runtime. –

+0

Что такое 'for (i = 0; mnth! = Month1 [i]; i ++) {}' - пустая петля делает? есть ли исключение ArrayIndexOutOfBound? – Sage

+0

@Sage да. как этого избежать? его не пустая петля больше я изменил ее .. Пожалуйста, скажите мне, где я неправ? – user3090804

ответ

5
  1. Ваш отступы очень плохо, улучшить его.
  2. date=dt.split("/"); - Вы предполагаете, что в date будет не менее 3 строк, плохая привычка.
  3. for(i=0;mnth!=month1[i];i++){} Вероятно, это вызывает ArrayIndexOutOfBoundsException.
  4. Линия Boolean x = ... очень запутанная, я предлагаю вам пересмотреть ее. Кроме того, почему Boolean, а не primitive boolean?
+1

Пока не прочитал ответ, но +1 для пункта №1. –

Смежные вопросы