C to Java

Que tal a todos
estoy buscando sacar un indice de capacidad CPK
y encontre en lenguaje c la forma de calcularlo

alguien con experiencia en c y java que puede convertir
a java este metodo
gracias.

#include
#include

int main(void)
{

int a;
int count;
int total;
int total2; /*Total of Xi^2*/
double average;
double r2; /*sigma^2*/
double sd; /*standard deviation, sigma*/

count=0;
total=0;
total2=0;
while(scanf("%d",&a)==1)
{
total+=a;
total2+=a*a;
count++;
}

if(count==0)
{
printf("No input data");
return 0;
}

average=(double)total/count;
printf("Average value is %4.1f",average);

if(count==1)
{
printf("Can not calculate standard deviation with only one data");
return 0;
}

r2=total2 -2*average*total +average*average*count;
sd=sqrt(r2/(count-1));
printf("Standard deviation is %4.1f",sd);

return 0;
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Haz un intento y dinos que

Haz un intento y dinos que errores de compilación te salen y te ayudamos.

Pregunta con cosas como "que equivalente tiene sqrt en Java" etc.

Pero sobre todo intentalo primero

Puedes empezar por ponerle
 

Suerte

Imagen de ezamudio

mv

mv archivo.c Archivo.java

Imagen de Lestat

jajja , buena respuesta

jajja , buena respuesta ezamudio XD

scanf ?? sqrt ??

public class cpk {

int a = 0;
int count = 0;
int total = 0;
int total2 = 0;
double average = 0;
double r2 = 0;
double sd = 0;

public cpk() {
}

public void calacule(String s) {
while (scanf("%d", & a) == 1) {
total += a;
total2 += a * a;
count++;
}
if (count == 0) {
System.out.println("No Input data");
return;
}
average = total / count;
System.out.println("Average value us %4.1f" + average);
if (count == 1) {
System.out.println("can calculate standard deviation with one data");
return;
}

r2 = total2 - 2 * average * total + average * count;
sd = sqrt(r2 / (count - 1));
System.out.println("Average value us %4.1f" + sd);
return;

}
}

Re: scanf ?? sqrt? ?

Primero ayúdanos a ayudarte, identa tu código. O bien postea tu código identado en pastebin y pasa el link.

Luego, dinos que dudas y errores te salen; y creo, que después de eso ya te podemos empezar a ayudar.

http://pastebin.com/pvkzrPwa

parece que no entiendo la parte del while
y tambien hay un erro en la linea
sd = sqrt(r2 / (count - 1));

Seguramente el error sale

Seguramente el error sale porque en Java no existe la función sqrt, busca en la clase   ( ) a ver si hay algún equivalente.

Para formatear el código acá tienes que escribirlo usando el tag <code>

¿Que no entiendes del while?

Seguramente la llamada a scanf ,lo que hace es leer desde el taclado un número y se repite mientras sea 1 si el usuario teclea otro número se sale del while

Sustituye scanf con   ( )

Gracias Oscar por contestar a

Gracias Oscar por contestar a mis dudas
y por explicar un poco cobre equivalencias de c y java
este fin de semana me a dado tiempo de dedicarle a
a investigar y resolver este problema.

Lo primero aprender las convenciones

Para que te evites broncas con otros programadores Java, te recomiendo que aprendas las convenciones del lenguaje, de momento te doy las que me sé y que son las más básicas:
1) El nombre de las clases empieza con mayúscula. Ejemplo:
 
2) El nombre de los paquetes es todo en minúsculas (Ej.: java.util, o com.sun, etc.).

3) El nombre de los métodos salvo el del constructor (que se llama igual que la clase) comienzan con minúsculas y hacen uso de CamelCase. Ejemplo:
 

Ahora, respecto del código, pues va un snippet básico:
 

Y pues de ahí en fuera pues te recomendaría leerte algunos artículos en RoseIndia para que aprendas los métodos y algunas tecnologías básicas de Java. En general parece que entiendes bastante de esto.