Estructura repititiva while

Iniciado por TickTack, 30 Agosto 2018, 11:47 AM

0 Miembros y 2 Visitantes están viendo este tema.

rub'n

Cita de: TickTack en  6 Septiembre 2018, 11:32 AM
Hola Elektro,

Al link que posteaste lo entendi que tengo que escribir Float en mayusculas.

Al primer float lo puedo escribir en mayusculas. Pero al segundo no porque me larga el
siguiente error: Tipo desajuste: No se puede convertir de int a Float.

Gracias y saludos


Hola rub'n,

De alguna manera no puedo correr tu programa. Es por eso que tuve que modificar el
codigo para que tuviera la posibilidad de correrlo. Porque cuando le daba en el
boton para correr me corria otro proyecto.


import java.util.Locale;
import java.util.Scanner;

public class TestForo {
public static void main(String[] ar) {
private static final Scanner TECLADO = new Scanner(System.in);

public TestForo() {
int cantidad;

       TECLADO.useLocale(Locale.US); // Habilita la lectura del .

       System.out.print("Escriba la cantidad de alturas a ingresar: ");
       cantidad = TECLADO.nextInt();

       int x = 1;
       float altura, promedio;
       float alturas = 0;

       while (x <= cantidad) {
           System.out.print("Altura: ");
           altura = TECLADO.nextFloat(); //
           alturas = alturas + altura;
           x++; //añadiendo contador con postIncremento
       }

       promedio = alturas / cantidad;
       System.out.print("La cantidad promedio de alturas de personas es: " + promedio);
}
}
}


Y me larga los errores que se pueden ver en la imagen:


Gracias y saludos



Pues desde luego que te dará error hasta el final de los tiempos, sera que puedes mirar el código de nuevo ? lo mas impresionante de todo es esto



tienes el contructor dentro del método entry point mas popular que existe main


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

TickTack

Hola rub'n,

Cita de: rub'n en  6 Septiembre 2018, 15:47 PM
lo mas impresionante de todo es esto



Por qué es esto lo mas impresionante de todo?

Citar
tienes el contructor dentro del método entry point mas popular que existe main

Qué es el metodo entry point? Soy nuevo en Java. Recién Lo estoy aprendiendo.

Gracias y saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

rub'n

#12
Cita de: TickTack en  6 Septiembre 2018, 22:05 PM
Hola rub'n,

Por qué es esto lo mas impresionante de todo?

Qué es el metodo entry point? Soy nuevo en Java. Recién Lo estoy aprendiendo.

Gracias y saludos

En serio estas dando cursos de C# :s , algo esta pasando que no sabes lo básico, tenemos que aprender primero bien las cosas para luego enseñar.

El es el método main principal, entrypoint por lo tanto la JVM es lo primero que llamara o invocara


Si te fijas en el código anterior pues si corre, el contructor esta fuera del método main, no dentro como lo colocaste tu. algo muy pero muy Básico


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

Eleкtro

#13
Cita de: TickTack en  6 Septiembre 2018, 22:05 PMQué es el metodo entry point? Soy nuevo en Java. Recién Lo estoy aprendiendo.

No tiene que ver con Java, todo programa executable tiene una función de punto de entrada (entry-point), incluyendo executables de .NET/C#...


Con respecto al constructor, esto tampoco tiene que ver con Java, el constructor de una clase se debe declarar a nivel de clase, no en el interior del bloque de un método (sea cual sea este).

Un ejemplo en C#:
Imaginate que en Visual Studio creas un nuevo proyecto de C#, una plantilla por defecto de aplicación de consola, bien, la IDE lo primero que hace es mostrarte la clase principal (Program) con el método Main declarado.
Las aplicaciones con interfaz gráfica de .NET también tienen este método, pero está "oculto" en la IDE.




Cita de: TickTack en  6 Septiembre 2018, 22:05 PM
Por qué es esto lo mas impresionante de todo?

Si en tu firma de usuario manifiestas que impartes cursos de C#, lenguaje con el que se puede generar executables de Windows, lo normal es esperar que al menos conozcas la estructura de dicho tipo de executable (por estructura no me refiero a las especificaciones del formato executable ni la cabecera PE), y también los conceptos básicos de la programación orientada a objetos (como una clase y los miembros que la componen, entre ellos un contructor de clase) cuya implementación generalmente no se ve alterada al aplicarlo en un lenguaje o en otro distinto, vamos, que con entender como se hacen las cosas en un lenguaje OOP, es mucho más facil hacerlo en otro, o entender la sintáctica y semántica del resto de lenguajes OOP, de hecho yo no se nada de Java, pero entiendo lo básico al leer una unidad de código por que he aprendido a hacer lo mismo en .NET.

No pretendo entrometerme en los asuntos/negocios de nadie, pero poniendo un ejemplo algo similar al del entry-point, hay un método que todo executable de Windows con interfaz gráfica tiene: el método de ventana (window procedure, o acrónimo convencional de Microsoft: WndProc), bien, ¿si un alumno de C# te pregunta que le expliques lo que es eso del método de ventana, como funciona, y como usarlo, que narices le dirías?, nada, por que no sabrás las respuestas.

Solo lo comento para que puedas entender los motivos por el cual todo esto pueda sorprendernos un poco al venir de alguien que da cursos de programación, de hecho sorprende bastante, incluso podría llegar a resultar molesto u ofensivo... sobre todo hacia profresores que ejerzan de profesión.

Saludos!








TickTack

#14
Vaya... me han destrozado en los comentarios.

Hola rub'n,

Citar
En serio estas dando cursos de C# :s , algo esta pasando que no sabes lo básico, tenemos que aprender primero bien las cosas para luego enseñar.

Que tiene que ver Java con C#?
Gracias por tu código. Me funciono. :)

Gracias y saludos

Hola Elektro,

Citar
No tiene que ver con Java, todo programa executable tiene una función de punto de entrada (entry-point), incluyendo executables de .NET/C#...

Yo no sabía que todo programa executable tiene una función de punto de entrada. Es
más: Ni siquiera sabía lo que era punto de entrada. Ahora si me dices que eso tiene
que ver con main yo te diré: "Ahhh si. Ahora entiendo!!".

Citar
cuya implementación generalmente no se ve alterada al aplicarlo en un lenguaje o en otro distinto, vamos, que con entender como se hacen las cosas en un lenguaje OOP, es mucho más facil hacerlo en otro, o entender la sintáctica y semántica del resto de lenguajes OOP

Pero de donde voy a saber yo eso? Si para mi, como dije, Java ero algo nuevo para mi.
No me lo propuse a aprendermelo porque quizas sea similar a C#.
Ahora que se que tienen cosas parecidas estos lenguajes quiero hacer comparaciones
entre esos dos lenguajes antes de preguntar sobre Java. Pero Java seguramente como
el español y el portugues no se podra comparar siempre con C#.

Citar
hay un método que todo executable de Windows con interfaz gráfica tiene: el método de ventana (window procedure, o acrónimo convencional de Microsoft: WndProc), bien, ¿si un alumno de C# te pregunta que le expliques lo que es eso del método de ventana, como funciona, y como usarlo, que narices le dirías?, nada, por que no sabrás las respuestas.

Como es comprensible, no se puede saberlo todo. Lo básico se puede saber, por supuesto.
Si un alumno me preguntara eso que mencionaste en el ejemplo le podría decir que
mañana podríamos analizar eso. Y para mañana estaré informado sobre ese método. Pero
si insistes en que debería saberlo casi todo entonces dime, por favor, como hacerlo y
por donde empezar.

Saludos
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#15
Cita de: Elektrocuya implementación generalmente no se ve alterada al aplicarlo en un lenguaje o en otro distinto, vamos, que con entender como se hacen las cosas en un lenguaje OOP, es mucho más facil hacerlo en otro, o entender la sintáctica y semántica del resto de lenguajes OOP

Cita de: TickTack en 11 Septiembre 2018, 11:45 AM
Pero de donde voy a saber yo eso?

De C#, logicamente, lenguaje (multiparadigma) con paradigma orientado aobjetos en el que das cursos, y esto implica que hipoteticamente aprendiste el concepto de 'Constructor de clase', entre otras muchas cosas más.




Cita de: TickTack en 11 Septiembre 2018, 11:45 AM
Pero Java seguramente como el español y el portugues no se podra comparar siempre con C#.

Depende de a que tipo de comparación te refieras. El significado de constructor de clase no cambia por que sea C# o Java.




Cita de: Elektrowindow procedure

Cita de: TickTack en 11 Septiembre 2018, 11:45 AMComo es comprensible, no se puede saberlo todo. Lo básico se puede saber, por supuesto.

En realidad era un ejemplo de conocimiento básico que se espera de alguien que pretenda dar cursos: la mensajería de ventanas.




Cita de: TickTack en 11 Septiembre 2018, 11:45 AMsi insistes en que debería saberlo casi todo entonces dime, por favor, como hacerlo y por donde empezar.

No insisto en nada, tampoco juzgo (aunque me parezca mal que alquien sea pintor solamente por saber como coger un pincel entre los dedos), solo doy mi opinión sobre el tema, en el comentario anterior solo intentaba aclararte, en profundidad, por que al usuario @rub'n le parecía "impresionante" lo que estabas diciendo.

De todas formas aquí tienes unos enlaces de interés sobre los temas que he tratado, documentación sacada de MSDN y docs.mcirosoft.com como no podría ser de otra forma...


Te recomiendo esas lecturas si quieres aprender algo nuevo que no sabías. Logicamente para aprender el uso de miembros específicos de la librería de clases de Java pues la MSDN de nada te va a servir (para eso tienes: https://docs.oracle.com/javase/7/docs/api/ ), pero para aprender programación para Windows y/o conceptos de programación comunes de la OOP pues considero que MSDN /docs.microsoft.com es muy buena fuente de aprendizaje, sino la mejor, siempre y cuando también lo acompañes de un poco de práctica (ensayo y error), y quizás video-cursos profesionales de pluralsight.com, por ejemplo.

Saludos!








TickTack

Hola Elektro,

Citar
De C#, logicamente, lenguaje (multiparadigma) con paradigma orientado aobjetos en el que das cursos, y esto implica que hipoteticamente aprendiste el concepto de 'Constructor de clase', entre otras muchas cosas más.

Pero que tiene que ver eso con Java? Yo no sabía que Java también es un lenguaje de programación orientado en objetos.


Citar
En realidad era un ejemplo de conocimiento básico que se espera de alguien que pretenda dar cursos: la mensajería de ventanas.

Sin mencionar que en un lenguaje de programación uno nunca termina de aprender, algo mas básico, para mi, que saber acerca de mensajerías de ventanas, son por ejemplo estructura de datos tipo vector, vectores paralelos, estructura de datos tipo matriz, herencia, estructuras dinámicas: listas tipo pila, estructuras dinámicas: listas tipo cola, sobrecarga de operadores, indizadores, clases genericas, métodos de extensión, etc.


Saludos!
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."

Eleкtro

#17
Cita de: TickTack en 14 Septiembre 2018, 12:01 PMPero que tiene que ver eso con Java? Yo no sabía que Java también es un lenguaje de programación orientado en objetos.

Maldita sea, ¿pero eres consciente de la tremenda burrada que estás diciendo?, ¿de verdad se supone que deben explicártelo?, ¡mira y disecciona el código que has publicado para formular una duda en este hilo!.

A un programador normal y corriente (léase: humilde) se le respondería y se le aclararía a este tipo de dudas amablemente, pero es que si para empezar tú eres el que tiene la arrogancia de dar cursos de POO sin tansiquiera comprender que es la POO, ni tampoco reconocer el paradigma cuando lo tienes delante de tus ojos y lo practicas, por que has usado Java para aplicar varios conceptos de POO, y además formulas preguntas y también problemas básicos de compilación cuyas respuestas y soluciones por lógica deberías conocer (¡o al menos intuir!) por ti mismo por el simple hecho de manifestar publicamente tu condición de profesor particular, pues... entiédeme, no puedo evitar darte este tipo de respuesta algo prepotente a la pregunta que me acabas de dirigir, lo siento, pero me supera lo que veo.

Para colmo, me respondes a un comentario mio para decirme que para ti es más importante aprender sobre herencia de clases (POO), tipos genéricos (programación genérica), objetos (POO!!), y etc, etc, etc. De verdad, cuanto sin sentido encuentro en tus palabras, ¿de que te sirve aprender todo eso de forma individual si no entiendes y aprendes la relación con la POO?, ahí hay un agujero bien grande de incomprensión, y es como no aprender nada al final.

Bueno, créeme si te digo que personálmente no me apetece seguir esta discusión, por que sé que no eres troll, ni tampoco me caes mal, eres un buen usuario y el trato que hemos tenido hasta el momento de esta discusión siempre fue cordial y agradable y por eso no quiero meterme con las cosas que dices, por que no quiero que eso cambie por culpa de esto, pero me empieza a resultar inevitable dirigirme hacia ti de esta forma si me haces alusiones en las que cada respuesta que me ofreces supera a la anterior en el sentido de ser demasiado alucinante, o "impresionante" como alguien dijo anteriormente, viniendo de alguien que da cursos, lo siento.

Lo voy a dejar estar por mi parte, ya si alguien quiere explicarte en profundidad donde fallas, que lo haga, y si tu eres capaz de reconocer los fallos y dar la razón, pues adelante.

Un saludo.








rub'n

#18
Hola,

@TickTack el tipo de dudas que dices tener con java de desconocimiento, también podrían ser las mismas que podrías tener con C# u otro lenguaje, se hace extraño que tu mismo no notes(Eso me parece), el problema no es el lenguaje sino, tu cuando te sientas en el teclado, cuando "NOS" sentamos frente a un teclado, me apunto también ahí, para que veas que no solamente eres tu quien le pasa, porque yo no soy experto en java, quisiera yo.

He igual con cualquier lenguaje debes tener disciplina mental para aprender, y ensayar muchas veces, esas cosas de que no sabias esto o lo otro o que C# etc, esas excusas no están nada bien para alguien que esta dando cursos, pareciera que deberías tomar mas practica para dar cursos.

Ya @Eleкtro y @NEBIRE te han escrito muchas cosas importantisimas, que no a cualquiera se le enseña, así que aprovéchalo, yo espero que les estés agradecido al menos  :-\  

Otra cosa que también note para que veas que no somos tontos aquí, vi que copiaste el código que te puse, que apenas estaba con el constructor agregado, o sea, casi ni con cambios y pegaste o algo así como si nada, sin ver bien que estabas haciendo  :xD eso no es una buena practica en lo absoluto super BIZARRO :-\


Y a la misma vez pues, si ya el programa te corre, pues bien, de paso al menossss ya tenias código hecho y bien por esa, que esa es la idea, que tengas código al menos y no que te hagan la tarea.


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

TickTack

Hola Elektro,

Con respecto a la humildad: Yo no veo que en algún momento me haya creido superiores a
ustedes. Y a diferencia de mi vieja personalidad no insulte ni amenaze a nadie. Mas
bien quiero tratarlos a todos con respeto y dignidad. Cosa que no veo en ustedes. Y
por esta razon y dado que a este foro lo lee mucha gente (como bien me escribieron en
PM), me veo obligado a defender mi reputación.

Citar
y además formulas preguntas y también problemas básicos de compilación cuyas
respuestas y soluciones por lógica deberías conocer (¡o al menos intuir!) por ti
mismo por el simple hecho de manifestar publicamente tu condición de profesor
particular

De algún modo creo que no nos entendemos o que yo no sepa expresarme bien: Si a mi se
me antoja aprender portugues simplemente porque me cae bien, de donde voy a saber yo
que mis problemas para formar una oración los puedo solucionar empezando por saber
que algunas estructuras gramaticales de los dos idiomas son similares? Y eso sin haber
escuchado nunca el portugues.


Citar
¿de que te sirve aprender todo eso de forma individual si no entiendes y aprendes la
relación con la POO?, ahí hay un agujero bien grande de incomprensión, y es como no
aprender nada al final.

Si ves mi primeros posts con este nick (porque con el nick Noporfavor hize muchos mas)
hice muchas preguntas acerca de C#. Ahora bien: Saber todo eso que ahora se me hizo
posible a que solucione mis problemas sin la ayuda de ustedes. Y viendo el solucionar
problemas por su propia cuenta como un exito... no se puede llegar a la
conclusión de que tal persona es capaz de enseñar a otras?

De todos modos ahora pueden estar felices de que retire mi firma. Otra cosa: la
amenaza no hacia falta.

Saludos!


Hola rub'n,

Citar
esas cosas de que no sabias esto o lo otro o que C# etc, esas excusas no están nada
bien para alguien que esta dando cursos, pareciera que deberías tomar mas practica
para dar cursos.

Es una excusa que un profesor de español que quiere aprender portugues diga que no
sabia como se formulaba una determinada oración en portugues?

Citar
Ya @Eleкtro y @NEBIRE te han escrito muchas cosas importantisimas, que no a
cualquiera se le enseña, así que aprovéchalo, yo espero que les estés agradecido al
menos

Si con "cosas importantisimas" te refieres a la programación, no viste lo que escribí
al final de mis comentarios, a saber: Gracias y saludos?

Citar
Otra cosa que también note para que veas que no somos tontos aquí, vi que copiaste el
código que te puse, que apenas estaba con el constructor agregado, o sea, casi ni con
cambios y pegaste o algo así como si nada, sin ver bien que estabas haciendo

No se exactamente de que estas hablando. Solo se que había un codigo tuyo que tuve
que cambiarlo porque no podia ejecutarlo, cosa que solucione. Y no veo nada de
bizarro ahí.

Citar
Y a la misma vez pues, si ya el programa te corre, pues bien, de paso al menossss ya
tenias código hecho y bien por esa, que esa es la idea, que tengas código al menos y
no que te hagan la tarea.

Muchas gracias por el codigo.

Saludos!
Citar
"Ninguna mentira puede inventarse lo suficientemente patán: el pueblo hispanohablante la cree. Por una consigna que se les dio, persiguieron a sus compatriotas con mayor encarnizamiento que a sus verdaderos enemigos."