Programación en castellano
Inicio > Foros > Java (básico) > suma numeros
-Foros de debate

Java (básico)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

suma numeros
Enviado por felipe el día 5 de abril de 2008

es un programa que suma numeros pero no veo que esta mal y cuando compilo me sale could not find the main class



import java.lang.*;
import java.io.*;
import java.util.*;
public class DigitalRoots {

/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub

int x[], y, i, resultado, j;
i=0;
j=0;
resultado=0;
x= new int[50];
String sCadena;
char caracter;



BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

while ((sCadena = bf.readLine())!=null) {
for (j=0; j<sCadena.length(); j++){



char caracter = sCadena.charAt(j);
int valor = (int) caracter;

//y= (char) j; //pasa caracter a int
//y= Integer.parseInt(sCadena);

x[i]= valor;
i=+1;

}
for (i=0; i<x.length; i++){
resultado =+x[i];


}
System.out.println("El resultado es : " + resultado );

}
}

}

 
Re: suma numeros
Enviado por jaireina el día 9 de abril de 2008

Me parece muy buena tu solucion, lo único es que inicializas dos veces la variable caracter y que cuando realizas la suma de los valores obtenidos, sumas los 50 valores del vector, lo cual es un poco ineficiente.
Aqui te dejo mi propuesta, espero que te ayude:


import java.io.*;

public class DigitalRoots{

public static void main(String [] args)throws Exception {
// TODO Auto-generated method stub

int x[], y, i, resultado, j, valor; //declaro la variable valor para que no se declare muchas veces en el for
resultado=0;
x= new int[50];
String sCadena, caracter; // caracter lo declaro como un string porque no se como convertir un caracter en entero, pero si un string

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

while ((sCadena = bf.readLine())!=null) {
for (j=0; j<sCadena.length(); j++){
caracter = "" + sCadena.charAt(j); //en la variable caracter guardo el caracter de sCadena en al posicion j
valor = Integer.parseInt(caracter); //convierto el String que contiene un caracter en una variable de tipo int y almaceno en valor
x[j]= valor; //el caracter j de sCadena se almacena en la posicion j del vector x
}

resultado=0;
for (i=0; i<sCadena.length(); i++){ //la suma se hace un número de veces igual al número de caracteres de SCadena
resultado += x[i];
}

System.out.println("El resultado es : " + resultado );

}
}
}

 

Re: suma numeros
Enviado por ozito el día 5 de abril de 2008

Felipe,

El problema es que declaras dos veces la variable 'caracter'. Debes quitar el 'char' que hay delante de 'caracter' de la línea 'char caracter = sCadena.charAt(j); '

Otra cosa, según tienes el programa el resultado siempre será 0,
debes cambiar la línea "resultado =+x[i];" por: "resultado +=x[i];"

Y otra más;
tal y como tienes el programa lo que hace es sumar los valores ASCII de los caracteres que tecleas en la línea de comandos, para sumar los números debería ser algo como esto:

public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub

int x[], y, i, resultado, j;
resultado=0;
x= new int[50];
String sCadena;
String caracter;
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

while ((sCadena = bf.readLine())!=null) {
for (j=0; j<sCadena.length(); j++){
caracter = sCadena.substring(j,j+1);
x[j] = (int) Integer.parseInt(caracter);
}
for (i=0; i<x.length; i++){
resultado +=x[i];
}
System.out.println("El resultado final es : " + resultado );
}
}

 


Tienda
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: musica mp3 | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | tienda virtual | gifs animados