Ayuda en java
Buenas tardes, me puedes ayudar por favor, tengo que entregar un proyecto el lunes que viene y estoy un poco agobiado, un compañero me dejo su código, pero es muy engorroso, me gustaría sintetizarlo, hacerlo más cómodo y fácil, pero que básicamente haga lo mismo que el código que te voy a pasar, me podrías ayudar por favor, es muy importante. Muchas gracias de antemano.
import java.io.IOException;
import java.io.*;
class Nodoint {
Nodo [] siguiente;
}
class Nodo_lista{
String palabra;
Nodo_lista [] siguiente;
}
class Nodo{
char caracter;
Nodoint [] inter= new Nodoint[10];
Nodo_lista exter = new Nodo_lista();
}
public class Holamundo {
static public char getChar() throws IOException
{
char ch = (char) System.in.read();
input();
return ch;
}
static public void input() throws IOException
{ while ( (char) System.in.read() != '\n' ); }
static public int inicializarNodo(Nodo nodo, char letra) throws IOException
{ // Inicializar el nodo a insertar
nodo.exter = null;
nodo.caracter=letra;
return 0;
}
static public int insertarNodo(char letra, int repeticiones, Nodo raiz) throws IOException
{ // Inicializar el nodo a insertar
Nodo nuevoNodo = new Nodo();
if(inicializarNodo(nuevoNodo, letra)!=0){
System.out.println("Fallo al inicializar el Nodo\n");
}else{
// En caso de que sea el primer nodo a insertar.
if(raiz == null){
System.out.println("Se va a insertar el nodo raiz \n");
raiz = nuevoNodo;
}else{ // Cualquier otro nodo despues del raiz.
}
}
return repeticiones;
}
public static void main(String[] args) throws IOException{
char res;
Nodo raiz;
String frase = "";
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
do {
System.out.println("Inserte una palabra y pulse ENTER");
try{ frase = reader.readLine(); }
catch(Exception e){}
System.out.println("Escribiste: " + frase + "\n");
int n[];
n = new int[27];
int longitud = frase.length();
int indice = 0;
int mayor = 0;
char letra;
do {
letra = frase.charAt(indice);
switch(letra) {
case 'a':
n[0]++;
if (mayor < 0){
mayor = 0;}
break;
case 'b':
n[1]++;
if (mayor < 1){
mayor = 1;}
break;
case 'c':
n[2]++;
if (mayor < 2){
mayor = 2;}
break;
case 'd':
n[3]++;
if (mayor < 3){
mayor = 3;}
break;
case 'e':
n[4]++;
if (mayor < 4){
mayor = 4;}
break;
case 'f':
n[5]++;
if (mayor < 5){
mayor = 5;}
break;
case 'g':
n[6]++;
if (mayor < 6){
mayor = 6;}
break;
case 'h':
n[7]++;
if (mayor < 7){
mayor = 7;}
break;
case 'i':
n[8]++;
if (mayor < 8){
mayor = 8;}
break;
case 'j':
n[9]++;
if (mayor < 9){
mayor = 9;}
break;
case 'k':
n[10]++;
if (mayor < 10){
mayor = 10;}
break;
case 'l':
n[11]++;
if (mayor < 11){
mayor = 11;}
break;
case 'm':
n[12]++;
if (mayor < 12){
mayor = 12;}
break;
case 'n':
n[13]++;
if (mayor < 13){
mayor = 13;}
break;
case '±':
n[14]++;
if (mayor < 14){
mayor = 14;}
break;
case 'o':
n[15]++;
if (mayor < 15){
mayor = 15;}
break;
case 'p':
n[16]++;
if (mayor < 16){
mayor = 16;}
break;
case 'q':
n[17]++;
if (mayor < 17){
mayor = 17;}
break;
case 'r':
n[18]++;
if (mayor < 18){
mayor = 18;}
break;
case 's':
n[19]++;
if (mayor < 19){
mayor = 19;}
break;
case 't':
n[20]++;
if (mayor < 20){
mayor = 20;}
break;
case 'u':
n[21]++;
if (mayor < 21){
mayor = 21;}
break;
case 'v':
n[22]++;
if (mayor < 22){
mayor = 22;}
break;
case 'w':
n[23]++;
if (mayor < 23){
mayor = 23;}
break;
case 'x':
n[24]++;
if (mayor < 24){
mayor = 24;}
break;
case 'y':
n[25]++;
if (mayor < 25){
mayor = 25;}
break;
case 'z':
n[26]++;
if (mayor < 26){
mayor = 26;}
break;
default:
break;
}
indice++;
}while(indice < longitud);
System.out.println("La ultima letra es la n·mero: " + mayor);
for (indice=0;indice <= mayor;indice++){
if(insertarNodo(indice,n[indice],raiz)!=0){
System.out.println("Se inserto el caracter "+indice+" con: "+n[indice]+" repeticiones");
}
if(n[indice]!=0){
System.out.println("Cantidad de letras "+indice+" en la frase es:"+n[indice]);}
}
//exter[mayor] = mayor;
System.out.println("?Quiere insertar otra palabra? S/N");
res = getChar();
}while(res != ('n'));
}
}
import java.io.IOException;
import java.io.*;
class Nodoint {
Nodo [] siguiente;
}
class Nodo_lista{
String palabra;
Nodo_lista [] siguiente;
}
class Nodo{
char caracter;
Nodoint [] inter= new Nodoint[10];
Nodo_lista exter = new Nodo_lista();
}
public class Holamundo {
static public char getChar() throws IOException
{
char ch = (char) System.in.read();
input();
return ch;
}
static public void input() throws IOException
{ while ( (char) System.in.read() != '\n' ); }
static public int inicializarNodo(Nodo nodo, char letra) throws IOException
{ // Inicializar el nodo a insertar
nodo.exter = null;
nodo.caracter=letra;
return 0;
}
static public int insertarNodo(char letra, int repeticiones, Nodo raiz) throws IOException
{ // Inicializar el nodo a insertar
Nodo nuevoNodo = new Nodo();
if(inicializarNodo(nuevoNodo, letra)!=0){
System.out.println("Fallo al inicializar el Nodo\n");
}else{
// En caso de que sea el primer nodo a insertar.
if(raiz == null){
System.out.println("Se va a insertar el nodo raiz \n");
raiz = nuevoNodo;
}else{ // Cualquier otro nodo despues del raiz.
}
}
return repeticiones;
}
public static void main(String[] args) throws IOException{
char res;
Nodo raiz;
String frase = "";
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
do {
System.out.println("Inserte una palabra y pulse ENTER");
try{ frase = reader.readLine(); }
catch(Exception e){}
System.out.println("Escribiste: " + frase + "\n");
int n[];
n = new int[27];
int longitud = frase.length();
int indice = 0;
int mayor = 0;
char letra;
do {
letra = frase.charAt(indice);
switch(letra) {
case 'a':
n[0]++;
if (mayor < 0){
mayor = 0;}
break;
case 'b':
n[1]++;
if (mayor < 1){
mayor = 1;}
break;
case 'c':
n[2]++;
if (mayor < 2){
mayor = 2;}
break;
case 'd':
n[3]++;
if (mayor < 3){
mayor = 3;}
break;
case 'e':
n[4]++;
if (mayor < 4){
mayor = 4;}
break;
case 'f':
n[5]++;
if (mayor < 5){
mayor = 5;}
break;
case 'g':
n[6]++;
if (mayor < 6){
mayor = 6;}
break;
case 'h':
n[7]++;
if (mayor < 7){
mayor = 7;}
break;
case 'i':
n[8]++;
if (mayor < 8){
mayor = 8;}
break;
case 'j':
n[9]++;
if (mayor < 9){
mayor = 9;}
break;
case 'k':
n[10]++;
if (mayor < 10){
mayor = 10;}
break;
case 'l':
n[11]++;
if (mayor < 11){
mayor = 11;}
break;
case 'm':
n[12]++;
if (mayor < 12){
mayor = 12;}
break;
case 'n':
n[13]++;
if (mayor < 13){
mayor = 13;}
break;
case '±':
n[14]++;
if (mayor < 14){
mayor = 14;}
break;
case 'o':
n[15]++;
if (mayor < 15){
mayor = 15;}
break;
case 'p':
n[16]++;
if (mayor < 16){
mayor = 16;}
break;
case 'q':
n[17]++;
if (mayor < 17){
mayor = 17;}
break;
case 'r':
n[18]++;
if (mayor < 18){
mayor = 18;}
break;
case 's':
n[19]++;
if (mayor < 19){
mayor = 19;}
break;
case 't':
n[20]++;
if (mayor < 20){
mayor = 20;}
break;
case 'u':
n[21]++;
if (mayor < 21){
mayor = 21;}
break;
case 'v':
n[22]++;
if (mayor < 22){
mayor = 22;}
break;
case 'w':
n[23]++;
if (mayor < 23){
mayor = 23;}
break;
case 'x':
n[24]++;
if (mayor < 24){
mayor = 24;}
break;
case 'y':
n[25]++;
if (mayor < 25){
mayor = 25;}
break;
case 'z':
n[26]++;
if (mayor < 26){
mayor = 26;}
break;
default:
break;
}
indice++;
}while(indice < longitud);
System.out.println("La ultima letra es la n·mero: " + mayor);
for (indice=0;indice <= mayor;indice++){
if(insertarNodo(indice,n[indice],raiz)!=0){
System.out.println("Se inserto el caracter "+indice+" con: "+n[indice]+" repeticiones");
}
if(n[indice]!=0){
System.out.println("Cantidad de letras "+indice+" en la frase es:"+n[indice]);}
}
//exter[mayor] = mayor;
System.out.println("?Quiere insertar otra palabra? S/N");
res = getChar();
}while(res != ('n'));
}
}
1 respuesta
Respuesta de krlosnow
1