PROGRAMACION Ejercicios 14 SHEILA NIETO UREÑA 1 CLASE

Anuncio
PROGRAMACION
Ejercicios 14
 Ejemplos de funciones String.
SHEILA NIETO UREÑA
CLASE STRING
 Funciones equals y compareTo.
 Escribir un programa que compruebe su una palabra es palíndromo o no (ejem. RADAR).
1. Contar el número de vocales (sin tilde) que se encuentran en una cadena.
2. Contar el número de consonantes que se encuentran en una cadena.
3. Dada una cadena de caracteres, invertirla.
4. Contar cuantas veces se encuentra una subcadena dentro de una cadena.
5. Ingresar una cadena de caracteres formadas por números y letras, en ese orden y obtenga otra
cadena donde aparezca cada letra tantas veces como lo indique el número que lo precede. Ejemplo:
Si la cadena es 2w4r5f debemos obtener la siguiente cadena: wwrrrrffffff.
6. Ingresar una cadena y determinar cuantas palabras se encuentran en la cadena. Cada palabra se
separa por medio de un espacio en blanco.
7. Leer una frase y encontrar la palabra de mayor longitud. El programa debe imprimir la palabra así
como el número de caracteres de la misma.
8. Hacer un programa que al recibir como datos dos cadenas de caracteres forme una tercera cadena
intercalando los caracteres de las palabras de las cadenas recibidas.
9. Ingrese un texto e indique qué letras no han aparecido en el texto.
10. Escriba un programa que lea una frase y a continuación visualice cada palabra de la frase en
columnas, seguida del número de letras que tiene cada palabra.
11. Escriba un programa que calcule la frecuencia de aparición de las vocales de un texto introducido por
el usuario. Esta solución se debe presentar en forma de histograma, por ejemplo:
a
e
15
8
***************
********
12. Dada una cadena, verificar si coincide con una matrícula portuguesa o no (NN-LL-NN).
13. Dado un array de nombres, ordenarlos alfabéticamente (Juan, Eva, Ana, Andres, Jorge).
14. Una palabra se dice abecedaria si las letras que la forman se encuentran en orden alfabético si son
leídas de izquierda a derecha. Por ejemplo, las siguientes palabras cumplen con ser abecedarias:
Amor, filo, chintz, luz, dinos...
Escriba un método que permita determinar si una palabra es abecedaria. El método debe recibir un
string como parámetro y retornar verdadero en caso que la palabra sea abecedaria, y falso en caso
contrario. Para esto puede ocupar solo los siguientes métodos de la clase String: charAt, length,
equals, compareTo.
15. Realice un método que reciba un String con una operación básica (+, -, *,/) y devuelve el resultado de
esa operación. Por ejemplo si recibe 4,5 + 35 debe devolver 39,5. Para esto puede ocupar solo los
siguientes métodos de la clase String: charAt, length.
1
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
ejercicios14
cadenas ......................................................................................................................................................................... 3
Cadenas I .................................................................................................................................................................. 3
Cadenas II ................................................................................................................................................................. 4
CompararCadenas .................................................................................................................................................... 5
Palíndromo ............................................................................................................................................................... 6
Ejer1 .......................................................................................................................................................................... 7
Ejer1Socorro ............................................................................................................................................................. 7
Ejer2 .......................................................................................................................................................................... 8
Ejer2Socorro ............................................................................................................................................................. 9
Ejer3 .......................................................................................................................................................................... 9
Ejer4 ........................................................................................................................................................................ 10
Ejer5 ........................................................................................................................................................................ 11
Ejer6 ........................................................................................................................................................................ 12
Ejer7 ........................................................................................................................................................................ 12
Ejer7Socorro ........................................................................................................................................................... 13
Ejer8 ........................................................................................................................................................................ 14
Ejer9 ........................................................................................................................................................................ 15
Ejer10 ...................................................................................................................................................................... 16
Ejer11 ...................................................................................................................................................................... 17
Ejer12 ...................................................................................................................................................................... 18
Ejer13 ...................................................................................................................................................................... 19
Ejer14 ...................................................................................................................................................................... 20
Ejer15 ...................................................................................................................................................................... 21
2
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
cadenas
Cadenas I
package cadena1;
public class Cadenas1 {
public static void main(String[] args) {
String cad1="buenos dias";
String cad2="Nos quedan dos dias para las vacaciones";
String cad3;
cad3=new String ("horror");
String cad4=new String("BUENOS DIAS");
int n1,n2,n3;
//calcula la longitud de la cadena
n1=cad1.length();
n2=cad2.length();
n3=cad3.length();
System.out.println("Longitud de las cadenas\nCadena 1: "+n1+
"\nCadena 2: "+n2+"\nCadena 3: "+n3+"\n");
//obtencion del primer caracter de las cadenas
System.out.println("Cadena 1: "+cad1.charAt(0));
System.out.println("Cadena 2: "+cad2.charAt(0));
System.out.println("Cadena 3: "+cad3.charAt(0)+"\n");
//comparacion de cadenas
if(cad1.equals(cad3))
System.out.println("IGUALES");
else
System.out.println("DISTINTAS");
System.out.println();
}
if(cad1.equals(cad4))
System.out.println(cad1+" - "+cad4+" --> CADENAS IGUALES");
else
System.out.println(cad1+" - "+cad4+" --> CADENAS DISTINTAS");
//comparacion de cadenas ignorando mayusculas y minusculas
if(cad1.equalsIgnoreCase(cad4))
System.out.println(cad1+" - "+cad4+" --> CADENAS IGUALES");
else
System.out.println(cad1+" - "+cad4+" --> CADENAS DISTINTAS");
System.out.println();
//busqueda de un caracter en una cadena
n1=cad1.indexOf('o');
System.out.println("En la cadena "+cad1+
" la primera aparicion del caracter buscado es la posicion "+n1+"\n");
//extraccion de una subcadena
String cad5=cad1.substring(3,9);
//coge la primera posicion, la segunda no
System.out.println("Extraccion de una subcadena de la cadena 1 "
+ "comprendida entre las posiciones 3 y 9:"+cad5);
}
3
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Cadenas II
package cadenas;
import java.util.Scanner;
public class Cadenas_II {
static Scanner sc=new Scanner(System.in);
static String cad,cad1,cad2,cad3,tex1,tex2;
static char car,car1,car2;
}
public static void main(String[] args){
cad1="buenos dias";
cad2="buenos dias señor";
cad3="BUENOS DIAS";
//FUNCION EQUALS
System.out.println("FUNCION EQUALS\n Ejemplo 1");
//compara 2 cadenas caracter por caracter segun cod. ASCII
if(cad1.equals(cad2))
System.out.println("
Cadenas IGUALES");
else
System.out.println("
Cadenas DISTINTAS");
System.out.println();
//distingue entre mayusculas y minusculas
System.out.println(" Ejemplo 2");
if(cad1.equals(cad3))
System.out.println("
"+cad1+" - "+cad3+" --> CADENAS IGUALES");
else
System.out.println("
"+cad1+" - "+cad3+" --> CADENAS DISTINTAS");
//FUNCION COMPARETO
System.out.println("\nFUNCION compareTo");
if(cad1.compareTo(cad3)==0)
System.out.println(" Las dos cadenas son iguales");
else if(cad1.compareTo(cad3)<0)
System.out.println(" La cadena '"+cad1+"' va antes que la cadena '"+cad3+"'");
else if(cad1.compareTo(cad3)>0)
System.out.println(" La cadena '"+cad1+"' va despues de la cadena '"+cad3+"'");
//FUNCION REPLACE --> cambia un caracter por otro dentro de una cadena
System.out.print("\nIntroduce una cadena: ");
tex1=cargarCad();
System.out.print("Introduce caracter a reemplazar: ");
car1=cargarCar();
System.out.print("Introduce caracter de reemplazo: ");
car2=cargarCar();
System.out.println(tex1.replace(car1, car2));
//FUNCION REPLACEFIRST --> cambia una palabra por otra dentro de una cadena
System.out.print("\nIntroduce una cadena: ");
cad=cargarCad();
System.out.print("Introduce palabra a reemplazar: ");
tex1=cargarCad();
System.out.print("Introduce palabra de reemplazo: ");
tex2=cargarCad();
System.out.println(cad.replaceAll(tex1, tex2));
}
public static String cargarCad(){
String cad=sc.nextLine();
return cad;
}
public static char cargarCar(){
char car=sc.next().charAt(0);
return car;
}
4
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
CompararCadenas
package cadenas;
import java.util.Scanner;
public class CompararCadenas{
static Scanner sc=new Scanner(System.in);
static String cad1,cad2,cad3;
public static void main(String[] args){
cad1="buenos dias";
cad2="buenos dias señor";
cad3="BUENOS DIAS";
//FUNCION EQUALS
System.out.println("FUNCION EQUALS\n Ejemplo 1");
//compara 2 cadenas caracter por caracter segun cod. ASCII
if(cad1.equals(cad2))
System.out.println("
Cadenas IGUALES");
else
System.out.println("
Cadenas DISTINTAS");
System.out.println();
//distingue entre mayusculas y minusculas
System.out.println(" Ejemplo 2");
if(cad1.equals(cad3))
System.out.println("
"+cad1+" - "+cad3+" --> CADENAS IGUALES");
else
System.out.println("
"+cad1+" - "+cad3+" --> CADENAS DISTINTAS");
//FUNCION COMPARETO
System.out.println("\nFUNCION compareTo");
if(cad1.compareTo(cad3)==0)
System.out.println(" Las dos cadenas son iguales");
else if(cad1.compareTo(cad3)<0)
System.out.println("
La cadena '"+cad1+"' va antes que la cadena
'"+cad3+"'");
else if(cad1.compareTo(cad3)>0)
System.out.println("
La cadena '"+cad1+"' va despues de la cadena
'"+cad3+"'");
}
}
5
PROGRAMACION
Ejercicios 14
Palíndromo
package cadenas;
import java.util.Scanner;
public class Palindromo{
static String cad;
}
public static void main(String[] args){
cargarString();
palindromo();
}
public static void cargarString(){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una palabra: ");
cad=sc.nextLine();
sc.close();
}
public static void palindromo(){
int m=cad.length()/2;
int i=0, j=cad.length()-1, c=m-i, d=m+c, c1=0, c2=0;
if(cad.length()%2==0){
for(i=0; i<m; i++)
if(cad.charAt(i)==cad.charAt(j)){
c1++;
j--;
}else
c2++;
if(c1==m)
System.out.println("Es palindromo");
else
System.out.println("No es palindromo");
}else{
for(i=0; i<m; i++)
if(cad.charAt(i)==cad.charAt(d))
c1++;
else
c2++;
if(c1==c2)
System.out.println("Es palindromo");
else
System.out.println("No es palindromo");
}
}
6
SHEILA NIETO UREÑA
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Ejer1
package cadenas;
/* Contar el numero de vocales (sin tilde) que se encuentran en una cadena.*/
import java.util.Scanner;
public class Ejer1 {
public static String cad;
public static char aux[];
}
public static void main(String[] args){
cargarCad();
invertirOrden();
}
public static void cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
aux=new char[cad.length()];
for(int i=0; i<aux.length; i++)
aux[i]=cad.charAt(i);
cad=cad.toUpperCase();
sc.close();
}
public static void invertirOrden() {
int v=0;
for(int j=0; j<aux.length; j++)
if(aux[j]=='a'||aux[j]=='e'||aux[j]=='i'||aux[j]=='o'||aux[j]=='u')
v++;
System.out.println("\n"+cad+" tiene "+v+" vocales");
}
Ejer1Socorro
package cadenas;
/* Contar el numero de vocales (sin tilde) que se encuentran en una cadena.*/
import java.util.Scanner;
public class Ejer1Socorro {
static String cad;
public static void main(String[] args){
cad=cargarCad();
contarVocales(cad);
}
public static String cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
cad+=" ";
sc.close();
return cad;
}
public static void contarVocales(String cad){
int numc=0,i,cont=0;
char car;
numc=cad.length();
for (i=0; i<numc; i++) {
car=cad.charAt(i);
switch(car){ //tambien toUpperCase pa pasar todo a mayusculas o
case 'a': case 'A':
//toLowerCase para pasar todo a minusculas
7
PROGRAMACION
Ejercicios 14
case
case
case
case
}
}
'e':
'i':
'o':
'u':
case
case
case
case
SHEILA NIETO UREÑA
'E':
'I':
'O':
'U': cont++;
}
}
System.out.println("Numero de vocales: "+cont);
Ejer2
package cadenas;
import java.util.Scanner;
/* Contar el numero de consonantes que se encuentran en una cadena.*/
public class Ejer2{
public static String cad;
public static char aux[];
}
public static void main(String[] args){
cargarCad();
contarCons();
}
public static void cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
aux=new char[cad.length()];
for(int i=0; i<aux.length; i++)
aux[i]=cad.charAt(i);
cad=cad.toUpperCase();
sc.close();
}
public static void contarCons() {
int c,v=0;
for(int j=0; j<aux.length; j++)
if(aux[j]=='a'||aux[j]=='e'||aux[j]=='i'||aux[j]=='o'||aux[j]=='u')
v++;
c=aux.length-v;
System.out.println("\n"+cad+" tiene "+c+" consonantes");
}
8
PROGRAMACION
Ejercicios 14
Ejer2Socorro
SHEILA NIETO UREÑA
package cadenas;
/* Contar el numero de consonantes que se encuentran en una cadena.*/
import java.util.Scanner;
public class Ejer2Socorro {
public static void main(String[] args){
String cad;
int numc=0,i,cont=0;
char car;
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
numc=cad.length();
for (i=0; i<numc; i++) {
car=cad.charAt(i);
switch(car){
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
case 'u': case 'U': break;
default:
if(car!=' ' && car!='.')
cont++;
}
}
System.out.println("Numero de consonantes: "+cont);
sc.close();
}
}
Ejer3
package cadenas;
/* Dada una cadena de caracteres, invertirla.*/
import java.util.Scanner;
public class Ejer3 {
public static String cad,inv1="",inv2="";
public static void main(String[] args){
Ejer3 e=new Ejer3 ();
cargarCad();
System.out.println("\n"+e.invertir(cad));
e.invertirCad(cad, inv2);
}
public static void cargarCad(){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
sc.close();
}
//2 metodos (devuelve y no devuelve valor)
public String invertir(String cad){
for(int i=cad.length()-1; i>=0; i--)
inv1=inv1+cad.charAt(i);
return inv1;
}
public void invertirCad(String cad,String inv2){
for(int i=cad.length()-1; i>=0; i--)
inv2=inv2+cad.charAt(i);
System.out.println("\n"+inv2);
}
}
9
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Ejer4
package cadenas;
/* Contar cuantas veces se encuentra una subcadena dentro
* de una cadena.*/
import java.util.Scanner; //Buscando y rebuscando se encuentra lo buscado
public class Ejer4{
static Scanner sc= new Scanner(System.in);
static String cad,subCad,aux;
static int con;
public static void main(String[] args){
System.out.print("Introducir cadena: ");
cad=cargarCad(cad);
aux=cad;
System.out.print("Introdir subcadena a buscar: ");
subCad=cargarCad(subCad);
buscarSubcadena(cad,subCad);
sc.close();
}
}
public static String cargarCad(String cad){
cad=sc.nextLine();
cad=cad.toLowerCase();
return cad;
}
public static void buscarSubcadena(String cad,String subCad){
con=0;
while (cad.indexOf(subCad) > -1) {
cad=cad.substring(cad.indexOf(subCad)+subCad.length(),cad.length());
con++;
}
subCad=subCad.toLowerCase();
System.out.println("En la cadena \""+aux+"\" se encuentra la subcadena \""
+subCad+"\" "+con+ " veces");
}
10
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Ejer5
package cadenas;
import
/*
*
*
*
*
java.util.Scanner;
Ingresar una cadena de caracteres formadas por numeros y letras, en ese orden
y obtenga otra cadena donde aparezca cada letra tantas veces como lo indique
el numero que lo precede.
Ejemplo: Si la cadena es 2w4r5f debemos obtener la siguiente cadena:
wwrrrrffffff.*/
public class Ejer5 {
public static String cad1,cad2;
}
public static void main(String[] args) {
cad1=cargarCad();
sacarSolucion(cad1);
}
public static String cargarCad() {
Scanner sc=new Scanner(System.in);
String cad;
System.out.print("Introduce una cadena del tipo '2w4r5f': ");
cad=sc.nextLine();
sc.close();
return cad;
}
public static void sacarSolucion(String cad) {
cad2="";
String l;
int n;
for(int i=0; i<cad.length(); i++){
if(i==0||i%2==0){
l=""+cad.charAt(i);
n=Integer.parseInt(l);
for(int j=0; j<n; j++){
cad2+=cad.charAt(i+1);
}
}
}
System.out.println(cad2);
}
//String element = "el5";
//String s;
//s = ""+element.charAt(2);
//int x = Integer.parseInt(s);
11
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Ejer6
package cadenas;
/* Ingresar una cadena y determinar cuantas palabras se encuentran en la cadena. Cada
* palabra se separa por medio de un espacio en blanco.*/
import java.util.Scanner;
public class Ejer6 {
public static String cad;
}
public static void main(String[] args) {
cargarCad();
contarPalabras();
}
public static void cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
sc.close();
}
public static void contarPalabras() {
int c=0;
for(int i=0; i<cad.length(); i++)
if(cad.charAt(i)==' ')
c++;
c++;
System.out.println("\nLa frase tiene "+c+" palabras");
}
Ejer7
package cadenas;
/* Leer una frase y encontrar la palabra de mayor longitud. El programa debe imprimir la
* palabra y el numero de caracteres de la misma.*/
import java.util.Scanner;
public class Ejer7 {
public static String cad,aux,word;
public static void main(String[] args) {
cad=cargarCad();
if(cad.length()==1){
System.out.println("No se ha introducido ninguna palabra");
}else{
contarPalabra(cad);
}
}
public static String cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
cad+=" ";
sc.close();
return cad;
}
public static void contarPalabra(String cad){
int p=0,max=p;
for(int j=0;j<cad.length();j++){
p=0;
aux="";
12
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
while(cad.charAt(j)!=' '){
aux+=cad.charAt(j);
p++;
j++;
}
if (p>max){
max=p;
word=aux;
}
}
}
}
if(cad.length()!=0){word=word.toUpperCase();
System.out.println("La palabra mas larga es "+word+
" con una longitud de "+max+" caracteres");}
Ejer7Socorro
package cadenas;
/* Leer una frase y encontrar la palabra de mayor longitud. El programa debe imprimir la
* palabra y el numero de caracteres de la misma.*/
import java.util.Scanner;
public class Ejer7Socorro {
public static void main(String[] args) {
int i, c=0;
Scanner sc = new Scanner(System.in);
String cadena, palabra="", mostrar = null;
System.out.println("Inroduzca la cadena: ");
cadena=sc.nextLine();
cadena+=" ";
}
}
for(i=0;i<cadena.length();i++){
palabra=palabra+cadena.charAt(i);
if(cadena.charAt(i)==' '){
if(palabra.length()-1>c){
//c=palabra.length()-1;
mostrar=palabra.trim();
c=mostrar.length();
}
palabra="";
}
}
System.out.println("La palabra de mayor longitud es: "+mostrar);
System.out.println("Su longitud es: "+c);
sc.close();
13
PROGRAMACION
Ejercicios 14
Ejer8
SHEILA NIETO UREÑA
package cadenas;
/* Hacer un programa que al recibir como datos dos cadenas de caracteres forme una
* tercera cadena intercalando los caracteres de las palabras de * las cadenas
* recibidas.*/
import java.util.Scanner;
public class Ejer8 {
public static String cad1,cad2,cad3=" ";
static Scanner sc=new Scanner(System.in);
}
public static void main(String[] args) {
cad1=cargarCad();
cad2=cargarCad();
cad3=intercalar1(cad1,cad2);
System.out.println(cad3);
cad3=intercalar2(cad1,cad2);
System.out.println(cad3);
sc.close();
}
public static String cargarCad() {
System.out.print("Introduce una frase: ");
String cad=sc.nextLine();
return cad;
}
public static String intercalar1(String c1,String c2){
String c3=" ";
int i,k;
if(c1.length()>c2.length()){
for(i=0; i<c2.length();i++){
c3+=c1.charAt(i);
c3+=c2.charAt(i);
}
for (k=i; k<c1.length();k++)
c3+=c1.charAt(k);
}else{
for(i=0; i<c1.length();i++){
c3+=c1.charAt(i);
c3+=c2.charAt(i);
}
for (k=i; k<c2.length();k++)
c3+=c2.charAt(k);
}
return c3;
}
public static String intercalar2(String c1,String c2){
String c3=" ";
if(c1.length()>c2.length()){
for(int i=0; i<c2.length();i++){
c3+=c1.charAt(i);
c3+=c2.charAt(i);
}
}else{
for(int i=0; i<c1.length();i++){
c3+=c1.charAt(i);
c3+=c2.charAt(i);
}
}
return c3;
}
14
PROGRAMACION
Ejercicios 14
Ejer9
SHEILA NIETO UREÑA
package cadenas;
/* Introducido un texto, indicar que letras no aparecen en el texto.*/
import java.util.Scanner;
public class Ejer9 {
public static String cad="",tex="";
static Scanner sc=new Scanner(System.in);
}
public static void main(String[] args){
cad=cargarCad();
tex=preparar(cad);
buscarLetras(tex);
sc.close();
}
public static String cargarCad(){
System.out.print("Introduce una frase: ");
String cad=sc.nextLine();
return cad;
}
public static String preparar(String cad){
for(int i=0; i<cad.length(); i++)
if(cad.charAt(i)!=' ')
tex=tex+cad.charAt(i);
tex=tex.toLowerCase();
return tex;
}
public static void buscarLetras(String tex){
char l=' ';
int c=0;
System.out.println("\nLetras no incluidas en el texto:\t");
for(char k='a'; k<='z'; k++) {
c=0;
for (int i=0; i<tex.length(); i++){
l=tex.charAt(i);
if(k!=l)
c++;
if(c==tex.length())
System.out.print(k+" ");
}
}
}
15
PROGRAMACION
Ejercicios 14
Ejer10
SHEILA NIETO UREÑA
package cadenas;
/* Escriba un programa que lea una frase y a continuacion visualice cada palabra de la
* frase en columnas, seguida del numero de letras que tiene cada palabra.*/
import java.util.Scanner;
public class Ejer10{
public static String cad;
static Scanner sc=new Scanner(System.in);
public static void main(String[] args) {
cargarCad();
verCad(cad);
System.out.println();
verCad2(cad);
sc.close();
}
public static void cargarCad() {
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
cad+=" ";
}
}
public static String cargarCad2() {
//Pedido por Socorro
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
//cad=sc.nextLine()+" ";
cad+=" ";
return cad;
}
public static void verCad(String cad) {
String tex;
int j=0,c;
for(int i=0;i<cad.length();i++){
tex="";
c=0;
while(cad.charAt(j)!=' '){
tex+=cad.charAt(j);
c++;
j++;
}
System.out.println(tex+"\t"+c+" letras");
i=j;
j++;
}
}
public static void verCad2(String cad){
//Socorro
String cad2="";
int i;
for (i = 0; i < cad.length(); i++) {
if(cad.charAt(i)!=' '){
cad2=cad2+cad.charAt(i);
}else{
System.out.println(cad2+"\t"+cad2.length()+" letras");
cad2="";
}
}
}
16
PROGRAMACION
Ejercicios 14
Ejer11
SHEILA NIETO UREÑA
package cadenas;
/* Escriba un programa que calcule la frecuencia de aparicion de las vocales de
* un texto introducido por el usuario. Esta solucion se debe presentar en forma
* de histograma*/
import java.util.Scanner;
public class Ejer11 {
public static String cad,ast;
public static char car;
public static int ca,ce,ci,co,cu;
public static void main(String[] args){
cad=cargarCad();
contarVocales(cad);
verResultado(car);
}
public static String cargarCad() {
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una frase: ");
cad=sc.nextLine();
cad=cad.toLowerCase();
sc.close();
return cad;
}
public static void contarVocales(String cad){
for (int i=0; i<cad.length(); i++){
car=cad.charAt(i);
switch(car){
case 'a': ca++;
break;
case 'e': ce++;
break;
case 'i': ci++;
break;
case 'o': co++;
break;
case 'u': cu++;
break;
}
}
}
public static void asteriscos(char car,int c) {
int i=0;
ast="";
while(i<c){
ast=ast+'*';
i++;
}
System.out.println(car+"
"+c+"
"+ast);
}
public static void verResultado(char car){
for (car='a'; car<='u'; car++){
switch(car){
case 'a': asteriscos(car,ca);
break;
case 'e': asteriscos(car,ce);
break;
case 'i': asteriscos(car,ci);
break;
case 'o': asteriscos(car,co);
break;
case 'u': asteriscos(car,cu);
break;
17
PROGRAMACION
}
}
}
Ejercicios 14
SHEILA NIETO UREÑA
}
Ejer12
package cadenas;
/* Dada una cadena, verificar si coincide con una matricula portuguesa o no.
* (NN-LL-NN)*/
import java.util.Scanner;
public class Ejer12 {
public static String cad="";
public static char car;
public static boolean a,b,c;
public static void main(String[] args){
Ejer12 e=new Ejer12();
cad=cargarCad();
if(cad.length()==8){
for (int i=0; i<cad.length();i++) {
car=cad.charAt(i);
switch (i){
case 0:
case 1:
case 6:
case 7:
a=e.esNumerico(car);
break;
case 2:
case 5:
b=e.esGuion(car);
break;
case 3:
case 4:
c=e.esLetra(car);
break;
}
}
if (b && c && a)
System.out.println("Matricula "+cad+" es matricula portuguesa");
else
System.out.println("Matricula "+cad+" NO es portuguesa");
}else
System.out.println("Matricula "+cad+" NO es portuguesa");
}
public static String cargarCad(){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una matricula: ");
String cad=sc.nextLine();
cad=cad.toUpperCase();
sc.close();
return cad;
}
public boolean esNumerico(char c){
boolean es=false;
if(c>='0' && c<='9')
es=true;
return es;
}
18
PROGRAMACION
}
Ejercicios 14
public boolean esLetra(char c){
boolean es=false;
if(c>='A'&&c<='Z')
es=true;
return es;
}
public boolean esGuion(char c){
boolean es=true;
if(c!='-')
es=false;
return es;
}
Ejer13
package cadenas;
/* Dado un array de nombres, ordenarlos alfabeticamente */
import java.util.Scanner;
public class Ejer13 {
static Scanner sc= new Scanner(System.in);
static final int N=4;
static String nom[], aux;
static int i,j;
public static void main(String[] args) {
nom=new String[N];
System.out.println("\nIntroducir Array\t");
cargarArray(nom);
verArray(nom);
nom=ordenarArray(nom);
System.out.println("\nArray ordenado:\t");
verArray(nom);
sc.close();
}
public static void cargarArray(String tab[]){
for (i=0; i<N; i++){
j=i+1;
System.out.print("Introduce nombre "+j+": ");
tab[i]=sc.nextLine();
}
}
public static String[] ordenarArray(String tab[]) {
j=0;
for (i=0; i<N; i++)
for (j=0; j<i; j++)
if(tab[i].compareTo(tab[j])<0){
aux=tab[j];
tab[j]=tab[i];
tab[i]=aux;
}
return tab;
}
public static void verArray(String tab[]) {
for (i=0; i<N; i++) {
tab[i]=tab[i].toUpperCase();
System.out.println(" "+tab[i]);
}
}
}
19
SHEILA NIETO UREÑA
PROGRAMACION
Ejercicios 14
Ejer14
SHEILA NIETO UREÑA
package cadenas;
/* Escriba un metodo que permita determinar si una palabra es abecedaria.*/
import java.util.Scanner;
public class Ejer14 {
public static String cad;
public static char c1,c2;
public static int con;
public static boolean abc;
}
public static void main(String[] args){
cad=cargarCad();
abc=esAbecedaria(cad);
if(abc)
System.out.println("Palabra abecedaria");
else
System.out.println("No es abecedaria");
}
public static String cargarCad(){
Scanner sc=new Scanner(System.in);
System.out.print("Introduce una palabra: ");
String cad=sc.nextLine();
cad=cad.toUpperCase();
sc.close();
return cad;
}
public static boolean esAbecedaria(String cad){
abc=true;
con=0;
for (int i=0; i< cad.length()-1;i++){
c1=cad.charAt(i);
c2=cad.charAt(i+1);
if(c1<c2)
con++;
else
break;
}
if(con==cad.length()-1)
abc=true;
else
abc=false;
return abc;
}
20
PROGRAMACION
Ejercicios 14
SHEILA NIETO UREÑA
Ejer15
package cadenas;
/* Realice un metodo que reciba un String con una
* operacion basica (+, -, *,/) y devuelve el
* resultado de esa operacion. Por ejemplo si recibe
* 4,5 + 35 debe devolver 39,5. Para esto puede usar solo
* los siguientes metodos de la clase String: charAt, length*/
import java.util.Scanner;
public class Ejer15 {
static Scanner sc=new Scanner(System.in);
//No vale la coma (,) solo el punto (.) como separador de los decimales
public static String cad="4.5+35",cad1="",cad2="";
public static double n1,n2,resul;
public static char op,opc;
public static int pos;
public static void main(String[]args){
operacion(cad);
}
public static String leer(String cad){
System.out.print("Introducir cadena: ");
cad=sc.nextLine();
return cad;
}
public static void operacion(String cad){
pos=0;
for(int i=0;i<cad.length();i++){
op=cad.charAt(i);
switch(op){
case '+':
case '-':
case '*':
case '/':
opc=op;
pos=i;
}
}
for(int k=0; k<pos;k++)
cad1+=cad.charAt(k);
n1=Double.parseDouble(cad1);
for(int k=(pos+1); k<cad.length();k++)
cad2+=cad.charAt(k);
n2=Double.parseDouble(cad2);
switch(opc){
case '+':
System.out.println(n1+n2);
break;
case '-':
System.out.println(n1-n2);
break;
case '*':
System.out.println(n1*n2);
break;
case '/':
if(n2==0)
System.out.println("Algo dividido entre CERO, "INDETERMINACION\n"
+ "No se puede realizar la operacion ");
else
21
PROGRAMACION
}
}
}
Ejercicios 14
System.out.println(n1/n2);
break;
22
SHEILA NIETO UREÑA
Descargar