После инициализации HashMap значения вставляются. Но при попытке распечатать значения все значения не печатаются. Я пытаюсь решить проблему this.Значения не повторяются в HashMap в Java
Код выглядит следующим образом:
import java.util.Scanner;
import java.util.HashMap;
import java.util.Iterator;
public class test
{
public static void main(String args[]) throws Exception
{
Scanner input = new Scanner(System.in);
String inputString = input.next();
int cases = input.nextInt();
long max = 0;
HashMap<Long, Long> points = new HashMap<>();
while(cases>0)
{
points.put(input.nextLong(), input.nextLong());
cases--;
}
Iterator iterator = points.keySet().iterator();
while(iterator.hasNext())
{
long x = (Long)iterator.next();
long y = points.get(x);
if(x>max)
max = x;
if(y>max)
max = y;
}
while(inputString.length()<=max)
inputString = inputString.concat(inputString);
iterator = points.keySet().iterator();
while(iterator.hasNext())
{
long x = (Long)iterator.next();
long y = points.get(x);
System.out.println("x: "+x+" y: "+y);
/* if(inputString.charAt(new Long(x-1).intValue()) == inputString.charAt(new Long(y-1).intValue()))
System.out.println("Yes");
else
System.out.println("No");*/
}
}
}
Выход:
Значения 2 и 4 не печатаются. Они не повторяются HashMap. В чем проблема?
Вам не нужно хранить вход, чтобы решить эту проблему. Просто изучите ввод и произведите вывод на входную строку (и выбросьте вход). – Bohemian
Богемский, но мне нужно найти максимальное количество раз, когда мне нужно дублировать и конкатенировать строку вправо. Поэтому для этой цели. В противном случае это указывает на превышение времени –