What is the problem in my code

package Challenges07_LinkedList;

import java.util.Scanner;

public class App08_KAppend {

private Node head;
private Node tail;
private int size;

private class Node{
	int data;
	Node next;
	
	Node(int data , Node next){
		this.data = data;
		this.next = next;
	}
}

public App08_KAppend() {
	this.head = this.tail = null;
	this.size = 0;
}

public int size() {
	return this.size;
}

public void addLast(int data) {
	Node node = new Node(data, null);
	
	if(this.size() == 0) {
		this.head = this.tail = node;
	}
	else {
		this.tail.next = node;
		this.tail = node;
	}
	this.size++;
}

public void display() {
	Node temp = this.head;
	while(temp!=null) {
		System.out.print(temp.data+" ");
		temp=temp.next;
	}
}

public void append(Node head , int k) {
	 
	int kmin = this.size()-k;
	
	for (int i = 0; i < kmin; i++) {
		this.tail.next = head;
		this.tail = this.tail.next;
		this.head = this.head.next;
	}
       
}
public static void main(String[] args) {
	Scanner scanner = new Scanner(System.in);
	App08_KAppend list = new App08_KAppend();
	int S = scanner.nextInt();
	
	for (int i = 0; i < S; i++) {
		list.addLast(scanner.nextInt());
	}
	int k = scanner.nextInt();
	
    list.append(list.head, k);
	
	 list.display();
}

}

hey, do n = n % length for cases where n > length
you can refer to this