AYUUUUDAAAAAAAA
esta es la primera ves que recurro a un foro pero es que no encuentro solucion a mi problema, al momento de depurar el programa no corre como deberia y no se como arreglarlo
import java.awt.*;
import java.io.*;
class Vectorsillo {
//variables de instancia
int a[] = new int[50];
//constructor
public Vectorsillo( int a[]){
this.a = a;
}
//metodo impar
void impar() {
for(int i=0;i<=50;i++){
if (a[i]%2!=0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo par
void pares() {
for(int i=0;i<=50;i++){
if (a[i]%2==0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo contar
void contar() {
int d = a.length;
System.out.println("La cantidad de numeros son "+(d));
}
//metodo MayorMenor
void MayorMenor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//metodo MenorMayor
void MenorMayor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
public static void main(String args[]){
int G;
BufferedReader C = new BufferedReader(new InputStreamReader(System.in));
System.out.println("--------Ingresar Datos-------");
int b[] = new int[50];
System.out.println("Siga las Instrucciones Por Favor");
try{
int i=0;
while(i < 5){
System.out.println("Ingresa el dato N"+(i+1));
int u = C.read();
b[i] = u;
i=i+1;
}
System.out.println("Ingrese los numeros y termine con 3.33");
int h = 5;
double V;
while((b[h]!=0.1)){
V = C.read();
if( V != 3.33){
G = (int)V;
b[h] = G;
h++;
}
else{
break;
}
}
Vectorsillo Vecto = new Vectorsillo(b);
System.out.println("----------------MENU-----------------");
System.out.println("");
System.out.println("Eliga una Opcion : ");
System.out.println("1..Desplegar Impares");
System.out.println("2..Desplegar Pares");
System.out.println("3..Contar cuantos datos se ingresaron");
System.out.println("4..Ordenar de Mayor a Menor");
System.out.println("5..Ordenar de Menor a Mayor");
System.out.println("6..Salir.");
String opcion = C.readLine();
if(opcion == ("1")){
Vecto.impar();
}
if(opcion == ("2")){
Vecto.pares();
}
if(opcion == ("3")){
Vecto.contar();
}
if(opcion == ("4")){
Vecto.MayorMenor();
}
if(opcion == ("5")){
Vecto.MenorMayor();
}
if(opcion == ("6")){
System.exit(1);
}
}
catch (IOException e) {
System.out.println("ERROR!!!!!!!!! Te equivocaste!!!!!!");
}
}
}
si alguien sabe que esta mal porfavor aviseme
import java.awt.*;
import java.io.*;
class Vectorsillo {
//variables de instancia
int a[] = new int[50];
//constructor
public Vectorsillo( int a[]){
this.a = a;
}
//metodo impar
void impar() {
for(int i=0;i<=50;i++){
if (a[i]%2!=0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo par
void pares() {
for(int i=0;i<=50;i++){
if (a[i]%2==0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo contar
void contar() {
int d = a.length;
System.out.println("La cantidad de numeros son "+(d));
}
//metodo MayorMenor
void MayorMenor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//metodo MenorMayor
void MenorMayor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
public static void main(String args[]){
int G;
BufferedReader C = new BufferedReader(new InputStreamReader(System.in));
System.out.println("--------Ingresar Datos-------");
int b[] = new int[50];
System.out.println("Siga las Instrucciones Por Favor");
try{
int i=0;
while(i < 5){
System.out.println("Ingresa el dato N"+(i+1));
int u = C.read();
b[i] = u;
i=i+1;
}
System.out.println("Ingrese los numeros y termine con 3.33");
int h = 5;
double V;
while((b[h]!=0.1)){
V = C.read();
if( V != 3.33){
G = (int)V;
b[h] = G;
h++;
}
else{
break;
}
}
Vectorsillo Vecto = new Vectorsillo(b);
System.out.println("----------------MENU-----------------");
System.out.println("");
System.out.println("Eliga una Opcion : ");
System.out.println("1..Desplegar Impares");
System.out.println("2..Desplegar Pares");
System.out.println("3..Contar cuantos datos se ingresaron");
System.out.println("4..Ordenar de Mayor a Menor");
System.out.println("5..Ordenar de Menor a Mayor");
System.out.println("6..Salir.");
String opcion = C.readLine();
if(opcion == ("1")){
Vecto.impar();
}
if(opcion == ("2")){
Vecto.pares();
}
if(opcion == ("3")){
Vecto.contar();
}
if(opcion == ("4")){
Vecto.MayorMenor();
}
if(opcion == ("5")){
Vecto.MenorMayor();
}
if(opcion == ("6")){
System.exit(1);
}
}
catch (IOException e) {
System.out.println("ERROR!!!!!!!!! Te equivocaste!!!!!!");
}
}
}
si alguien sabe que esta mal porfavor aviseme
Hola,
Creo que tu problema está en que cuando lees el número introducido por consola utilizas el método read(). Este método lee únicamente un caracter, y no capta el final de lÃnea. Lo que tienes que utilizar es el método readLine(), de la forma:
while(i < 5){
System.out.println("Ingresa el dato N"+(i+1));
String u = C.readLine();
b[i] = Integer.parseInt(u);
i++;
}
Además, cuando intentas obtener la opción elegida la comparas con '==', cuando lo que debes utilizar es el método equals():
if(opcion.equals("1")){ ...
Espero que esto te sirva.
Saludos
Creo que tu problema está en que cuando lees el número introducido por consola utilizas el método read(). Este método lee únicamente un caracter, y no capta el final de lÃnea. Lo que tienes que utilizar es el método readLine(), de la forma:
while(i < 5){
System.out.println("Ingresa el dato N"+(i+1));
String u = C.readLine();
b[i] = Integer.parseInt(u);
i++;
}
Además, cuando intentas obtener la opción elegida la comparas con '==', cuando lo que debes utilizar es el método equals():
if(opcion.equals("1")){ ...
Espero que esto te sirva.
Saludos
Muchas gracias delia, tu ayuda me sirvio para poder almacenar los numeros, pero me encontre con otro error mas de ejecucion que estoy intentando arreglar :(
import java.awt.*;
import java.io.*;
class Vectorsillo {
//variables de instancia
int a[] = new int[50];
//constructor
public Vectorsillo( int a[]){
this.a = a;
}
//metodo impar
void impar() {
for(int i=0;i<=50;i++){
if (a[i]%2!=0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo par
void pares() {
int f[] =new int[50];
for(int i=0;i<=50;i++){
if (a[i]%2==0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo contar
void contar() {
int d = a.length;
System.out.println("La cantidad de numeros son "+(d));
}
//metodo MayorMenor
void MayorMenor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//metodo MenorMayor
void MenorMayor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//main
public static void main(String args[]){
int G;
BufferedReader C = new BufferedReader(new InputStreamReader(System.in));
System.out.println("--------Ingresar Datos-------");
int b[] = new int[50];
System.out.println("Siga las Instrucciones Por Favor");
try{
int i=0;
String V;
System.out.println("Ingrese los numeros y termine con Salir");
while(i < 50){
System.out.println("Ingresa el dato N"+(i+1));
if(i <= 4){
String x = C.readLine();
if(x.equals("Salir")){
System.out.println("Debes ingresar MINIMO 5");
}
else{
int u = Integer.parseInt(x);
b[i] = u;
i=i+1;
}
}
if(i>4){
V = C.readLine();
if( V.equals("Salir" )){
break;
}
else{
int f = Integer.parseInt(V);
b[i] = f;
i=i+1;
}
}
}
Vectorsillo Vecto = new Vectorsillo(b);
String opcion;
while(true){
if(true){
System.out.println("----------------MENU-----------------");
System.out.println("");
System.out.println("Eliga una Opcion : ");
System.out.println("1..Desplegar Impares");
System.out.println("2..Desplegar Pares");
System.out.println("3..Contar cuantos datos se ingresaron");
System.out.println("4..Ordenar de Mayor a Menor");
System.out.println("5..Ordenar de Menor a Mayor");
System.out.println("6..Salir.");
opcion = C.readLine();
String a1 = "1";
String a2 = "2";
String a3 = "3";
String a4 = "4";
String a5 = "5";
String a6 = "6";
if(opcion.equals(a1)){
Vecto.impar();
}
if(opcion.equals(a2)){
Vecto.pares();
}
if(opcion.equals(a3)){
Vecto.contar();
}
if(opcion.equals(a4)){
Vecto.MayorMenor();
}
if(opcion.equals(a5)){
Vecto.MenorMayor();
}
if(opcion.equals(a6)){
break;
System.exit(1);
}
}
}
}
catch (IOException e) {
System.out.println("ERROR!!!!!!!!! Te equivocaste!!!!!!");
}
}
}
supongo que tengo algo mal en la parte donde le entrego los datos a mis metodos..
import java.awt.*;
import java.io.*;
class Vectorsillo {
//variables de instancia
int a[] = new int[50];
//constructor
public Vectorsillo( int a[]){
this.a = a;
}
//metodo impar
void impar() {
for(int i=0;i<=50;i++){
if (a[i]%2!=0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo par
void pares() {
int f[] =new int[50];
for(int i=0;i<=50;i++){
if (a[i]%2==0){
System.out.print(" "+a[i]);
}
}
System.out.println("");
}
//metodo contar
void contar() {
int d = a.length;
System.out.println("La cantidad de numeros son "+(d));
}
//metodo MayorMenor
void MayorMenor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//metodo MenorMayor
void MenorMayor() {
int d = 0;
for(int i = 0;i<50;i++){
if (i== a.length){
}
else{
d = d +1;
}
}
for(int j = 0;j<d;j++){
for(int p =0;p<d-1;p++){
if (a[p]>a[p+1]){
int o = a[p];
a[p]=a[p+1];
a[p+1]=o;
}
}
}
for(int aa = 0;aa < d;aa++){
System.out.print(" "+a[aa]);
}
System.out.println("");
}
//main
public static void main(String args[]){
int G;
BufferedReader C = new BufferedReader(new InputStreamReader(System.in));
System.out.println("--------Ingresar Datos-------");
int b[] = new int[50];
System.out.println("Siga las Instrucciones Por Favor");
try{
int i=0;
String V;
System.out.println("Ingrese los numeros y termine con Salir");
while(i < 50){
System.out.println("Ingresa el dato N"+(i+1));
if(i <= 4){
String x = C.readLine();
if(x.equals("Salir")){
System.out.println("Debes ingresar MINIMO 5");
}
else{
int u = Integer.parseInt(x);
b[i] = u;
i=i+1;
}
}
if(i>4){
V = C.readLine();
if( V.equals("Salir" )){
break;
}
else{
int f = Integer.parseInt(V);
b[i] = f;
i=i+1;
}
}
}
Vectorsillo Vecto = new Vectorsillo(b);
String opcion;
while(true){
if(true){
System.out.println("----------------MENU-----------------");
System.out.println("");
System.out.println("Eliga una Opcion : ");
System.out.println("1..Desplegar Impares");
System.out.println("2..Desplegar Pares");
System.out.println("3..Contar cuantos datos se ingresaron");
System.out.println("4..Ordenar de Mayor a Menor");
System.out.println("5..Ordenar de Menor a Mayor");
System.out.println("6..Salir.");
opcion = C.readLine();
String a1 = "1";
String a2 = "2";
String a3 = "3";
String a4 = "4";
String a5 = "5";
String a6 = "6";
if(opcion.equals(a1)){
Vecto.impar();
}
if(opcion.equals(a2)){
Vecto.pares();
}
if(opcion.equals(a3)){
Vecto.contar();
}
if(opcion.equals(a4)){
Vecto.MayorMenor();
}
if(opcion.equals(a5)){
Vecto.MenorMayor();
}
if(opcion.equals(a6)){
break;
System.exit(1);
}
}
}
}
catch (IOException e) {
System.out.println("ERROR!!!!!!!!! Te equivocaste!!!!!!");
}
}
}
supongo que tengo algo mal en la parte donde le entrego los datos a mis metodos..
aproposito el System.exit(1); no va ^_^ fue una prueba que quize hacer..