Я попытался реализовать односвязный список в Java, используя следующий код. Я написал код так, чтобы пользователь вводил столько цифр, сколько ему нужно, и, наконец, когда он нажимает клавишу ввода на клавиатуре, программа отображает все введенные цифры.
Например, если пользователь вводит что-то вроде 12345548963256987451236589745, а затем ввод должен выдать этот результат "12345548963256987451236589745".
Я знаю, что могу сделать это, просто используя String или BigInteger, но я просто хотел попробовать это со связанным списком.
public static void main(String [] args)
{
Node start=null,end=null;
Scanner in = new Scanner(System.in);
char ch ;
ch = in.next();
while(ch.charAt(0)!='\n')
{
Node n = insert(ch-48);
if(start==null)
{
start = n;
end = n;
}
else
{
end.next=n;
end = n;
}
ch = in.next();
}
Node n = start;
while(n!=null)
{
System.out.print(n.data);
n=n.next;
}
}
private static Node insert(int i) {
Node n = new Node();
n.data=i;
n.next = null;
return n;
}
По какой-то причине программа движется по бесконечному циклу. Я имею в виду, что он никогда не выйдет из входной части.
Мне кажется, я что-то напутал с этой строкой:
ch.charAt (0)! = '\ п'
Так что я должен изменить?
Сначала я попробовал это на языке C и попытался имитировать то же самое в JAVA, это работало в C, но это доставляет проблемы в JAVA.