Member 13954890 Ответов: 1

Как я могу взять массив символов у пользователя? Я пытаюсь использовать приведенный ниже код, чтобы проверить, состоит ли массив символов из повторяющихся значений или нет.


public class dublicate 
{ 
	public static void isDuplicate(Character arr)
	{   int len=0;
		while(arr!=null)
		len++;
		Set<character> set=new HashSet<character>(Arrays.asList(arr));
		int len2=set.size();
		if(len==len2)
			System.out.println("array doesn't have duplicates");
		else
			System.out.println("yes they have duplicates\n");
		
	}
	public static void main(String args[])
	{
Scanner s=new Scanner(System.in);
System.out.println("enter elements in an array to check it contains duplicate elements or not\n");
Character arr[]=new Character[100];
for(Character c:arr)
	arr[c]=s.next().charAt(0);
}
}


Что я уже пробовал:

Здесь я получаю исключение NullPointer.Я не понимаю, как это исправить.Кто-нибудь может пожалуйста помочь мне?

Richard MacCutchan

Вы не можете сказать нам, где происходит исключение. Однако эти две линии:

for(Character c:arr)
arr[c]=s.next().charAt(0);

не иметь смысла. Вы пытаетесь использовать ссылку на объект в качестве индекса в массиве.

1 Ответов

Рейтинг:
0

John Hanna 2

Вы могли бы использовать метод split в java для получения входных данных из консоли.
Что-то вроде

split(" ");