Buenas posibles futuros cyberterroristas tengo problemas con unos ejercicios de java que me mandaron en clase y venía a pediros un poco de ayuda ya que si no termino unos cuantos esta semana suspendo el ciclo y me jodería mucho haber perdido dos años por no aprender todo lo que me pedían de java. Bueno el código me da algunos errores y seguro que vosotros ya veis unos cuantos a simple vista, yo soy bastante nulo con esto de java.
Aora os describo los ejercicios
1º Procesar cadenas leidas por teclado.
Realizar un programa en Java que obtenga por teclado una frase y realice las
siguientes operaciones:
Se realizará una clase frase con un atributo cadena que contendrá la frase
obtenida por teclado á la frase obtenida por teclado varios métodos eliminar_blancos()
que eliminará los espacios en blanco al principio y al final de la frase contenida en el
atributo cadena, contar_letras() que devuelve el número de letras de la frase contenida
en el atributo cadena, invertir_frase() que devuelve un StringBuffer con la cadena
invertida, contar_palabras() que devuelve el número de palabras de la cadena,
separar_palabras() que devuelve un array de String conteniendo las palabras de la
cadena separadas, primera_vocal() y ultima_vocal() que devuelven la primera posición
de una vocal en la frase y la ultima posición de una vocal en la frase, es_mayuscula()
que devuelve si la primera letra es o no mayúscula, mayuscula() que devuelva un
StringBuffer con la cadena en mayúscula, minuscula() que devuelva un StringBuffer con
la cadena en minúscula, vectorizar() que devuelve la cadena como un vector de letras
Este es mi código de momento:
import java.io.*;
class exercicios{
String eliminar_blancos(string frase){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
for(int i=0;i<frase.length();i++){
if(frase.charAt(cont)==' '){
for(j=cont;j<frase.length();j++){
frase.charAt(j)=frase.charAt(j+1);
}
}
}
return frase;
}
int contar_letras(string frase){
int i=frase.length();
return i;
}
String invertir_frase(){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
for (i=0, j=l-1;i<j;i++, j--){
char temp = c[i];
c[i] = c[j];
c[j] = temp;
}
}
int contar_palabras(string frase){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
int cont=0;
for(int j=0;j<frase.length();j++){
if(frase.charAt(j)==' '){
cont++;
return cont;
}
int primera_vocal(string frase){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
int cont=0;
int flag=0;
for(int i=0;i<frase.length()&&flag=0;i++){
if(frase.charAt(i)=='a'||frase.charAt(i)=='e'||frase.charAt(i)=='i'||frase.charAt(i)=='o'||frase.charAt(i)=='u'||frase.charAt(i)=='A'||frase.charAt(i)=='E'||frase.charAt(i)=='I'||frase.charAt(i)=='O'||frase.charAt(i)=='U'){
cont=i;
flag=1;
}
}
return cont;
}
int ultima_vocal(string frase){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
int cont=0;
for(int i=0;i<frase.length();i++){
if(frase.charAt(i)=='a'||frase.charAt(i)=='e'||frase.charAt(i)=='i'||frase.charAt(i)=='o'||frase.charAt(i)=='u'||frase.charAt(i)=='A'||frase.charAt(i)=='E'||frase.charAt(i)=='I'||frase.charAt(i)=='O'||frase.charAt(i)=='U')
cont++;
}
return cont;
}
int es_mayuscula(string frase){
int l=txt.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
int cont=0;
for(int i=0;i<frase.length();i++){
if()
cont=1;
else
cont=0;
return cont;
}
/*String mayuscula(string frase){
}
String minuscula(string frase){
}*/
String vectorizar(string frase){
int l=frase.length();
char[] c=new char[l];
for(int j=0;j<l;j++)
c[j]=txt.charAt(j);
return char[];
}
}
public class bol5ex8{
public static void main(String []args) throws IOException{
InputStreamReader flujo;
BufferedReader teclado;
teclado=new BufferedReader (new InputStreamReader(System.in));
String texto;
System.out.println("Introduza unha frase");
texto=teclado.readLine();
string texto2=exercicios.eliminar_blancos(texto);
System.out.println(texto2);
int numeroletras=exercicios.contar_letras(texto);
System.out.println("O numero de letras da frase e: "+numeroletras);
string texto3=exercicios.invertir_frase(texto);
System.out.println("A frase invertida e: "+texto3);
int palabras=exercicios.contar_palabras(texto);
System.out.println("O numero de palabras e: " +palabras);
int privocal=exercicios.primera_vocal(texto);
System.out.println("A primeira vocal e: " +privocal);
int ultvocal=exercicios.ultima_vocal(texto);
System.out.println("A ultima vocal e: "+ultvocal);
int esmayus=exercicios.es_mayuscula(texto);
if (esmayus=0)
System.out.println("La primera letra es mayuscula");
else
System.out.println("La primera letra es minuscula");
/*string texto4=exercicios.mayuscula(texto);
System.out.println("La frase en mayusculas: "+texto4);
string texto5=exercicios.minuscula(texto);
System.out.println("La frase en minusculas: "+texto5);*/
l=texto.length();
char vector[n]=exercicios.vectorizar(texto);/*Pasar a vector(array) de char*/
System.out.println("La frase vectorizada: ");
for (int i=0;i<l;i++)
System.out.print(vector[i]);
}
}
le faltan por completar un par de metodos pero los fallos no son de eso, toda ayuda me viene dpm.
2º Definir una clase Conjunto que contenga:
- Un array de valores de cualquier tipo.
- Un método interseccion que tome como argumento otro conjunto, y devuelva un nuevo
conjunto con la intersección de los dos, es decir, los elementos de la primera lista que son
equal a algún elemento de la segunda.
import java.io.*;
class interseccion{
string inter(string txt){
int j,i;
BufferedReader t;
InputStreamReader f;
String txt2;
f=new InputStreamReader(System.in);
t=new BufferedReader(f);
System.out.println("Introduza varios numeros ou letras: ");
txt2=t.readLine();
int l=txt.length();
char[] c=new char[l];
for(j=0;j<l;j++)
c[j]=txt.charAt(j);
int g=txt2.length();
char[] c=new char[g];
for(j=0;j<l;j++)
c[j]=txt2.charAt(j);
for (i=0;i<l;i++){
for (j=0;j<g;j++){
}
}
}
public class bol5ex11{
int j,i;
BufferedReader t;
InputStreamReader f;
String txt;
f=new InputStreamReader(System.in);
t=new BufferedReader(f);
System.out.println("Introduza varios numeros ou letras: ");
txt=t.readLine();
interseccion.inter(txt);
}
también me da fallos y no se si hace del todo bien lo que me pide el ejercicio.
No os pido que me hagais los ejercicios eso sería hecharle mucha cara, no se casi nada de java y seguro que son cosas que saltan a la vista asique si me decis los errores que veis y como poder solucionarlos me vendría muy muy bien.
Enga un abrazo cyberterrorista.
edit: #2 ya están con la etiqueta code, no sabía que existia