Listas Doblemente Enlazadas

Desarrollar un programa en Java que realice las siguientes tareas:

Crear una lista doblemente enlazada de números enteros al azar (entre 0-100). La inserción se debe realizar por el último nodo.
Recorrer lista hacia adelante.
Recorrer lista hacia atras.
Imprimir en pantalla y contabilizar los números pares.
Imprimir en pantalla y contabilizar los números impares.
Buscar un número y mostrar cuántas veces se repite.
Obtener el promedio de los números almacenados y eliminar los que superen el promedio.
Salir.

empeze el programa en jgrasp pero existe un error qe me no puedo encontrar

public class lista{
public static void main(String args[]){

int num=0,i;
nodo nuevo = null;
for(i=0;i<20;i++)
{
num=(int)(math.random()*100);
nuevo.siguiente=primero;
if(primero!=null){
primero.anterior=nuevo;
}
}
primero=nuevo;
if(i==0){ultimo=nuevo;}
}
}

ayudenme a continuar porfa (:

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Cual fue el error?

Cual fue el error?