Programación

Página 3 de 5. Precedente  1, 2, 3, 4, 5  Siguiente

Ir abajo

Re: Programación

Mensaje  La Criatura el Mar Ene 24, 2012 8:34 am

Yo tengo una duda. ¿Si se te da muy mal la programación, estás haciendo noobgramación?
avatar
La Criatura
Puta a secas
Puta a secas

Mensajes : 297
Puterío : 14
Fecha de inscripción : 07/01/2012
Localización : Acto de localizar, o localizarse

Volver arriba Ir abajo

Re: Programación

Mensaje  Anus el Mar Ene 24, 2012 2:01 pm

La Criatura escribió:Yo tengo una duda. ¿Si se te da muy mal la programación, estás haciendo noobgramación?


Por cierto yo veo tantas mierdas y me asusto
avatar
Anus
Putilla de extrarradio
Putilla de extrarradio

Mensajes : 187
Puterío : 5
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Mar Ene 24, 2012 8:36 pm

La Criatura escribió:Yo tengo una duda. ¿Si se te da muy mal la programación, estás haciendo noobgramación?

Anus escribió:Por cierto yo veo tantas mierdas y me asusto
Aun tienes que comer muchos rab... petit suisse.

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Mar Ene 24, 2012 11:37 pm

Levinor escribió:Werler creo que ya lo tengo:

El tema es que lo que ocurre es que tu solo compruebas la guarda del While cada X iteraciones del For, y en ocasiones compruebas setm cuando ya ha excedido la variable setmana, la solución más sencilla es agregarle a la guarda del For una condición y que al final de cada iteración del For analices el contenido de setm, tal que así:

Spoiler:

boolean continuar=true;
while (setm != setmana){
//debugWhile++;
// System.out.println("Iteración While: "+debugWhile+ " setm: "+setm+" setmana: "+setmana+ " mes: "+mes);
for (i = 1; i <= numDias && continuar; i++){
// System.out.println("Iteración For nº: "+i);
switch (mes) {
case 1:
mes_ = "\t\t\t\tGener";
numDias = 31;
break;
case 3:
mes_ ="\t\t\t\tMarç";
numDias = 31;
break;
case 5:
mes_ = "\t\t\t\tMaig";
numDias = 31;
break;
case 7:
mes_ = "\t\t\t\tJuliol";
numDias = 31;
break;
case 8:
mes_ = "\t\t\t\tAgost";
numDias = 31;
break;
case 10:
mes_ ="\t\t\t\tOctubre";
numDias = 31;
break;
case 12:
mes_ = "\t\t\t\tDesembre";
numDias = 31;
break;
case 4:
mes_ = "\t\t\t\t\tAbril";
numDias = 30;
break;
case 6:
mes_ = "\t\t\t\t\tJuny";
numDias = 30;
break;
case 9:
mes_ = "\t\t\t\t\tSeptembre";
numDias = 30;
break;
case 11:
mes_ = "\t\t\t\t\tNovembre";
numDias = 30;
break;
case 2:
mes_ = "\t\t\t\t\tFebrer";
if ( ((any % 4 == 0) && !(any % 100 == 0)) || (any % 400 == 0) )
numDias = 29;
else
numDias = 28;
break;
default:
}
System.out.print("\n"+mes_+"*"+numDias+"*"+i+"*"+m);

if (m == 7){
/* System.out.println("Entrado en el IF (m=7) m= "+0+" setm="+setm);
try {
br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
m = 0;
setm++;
// System.out.print("^"+setm+"^");
}
// else System.out.println("No ha entrado en el IF (m!=7)");

m++;
// System.out.println("m: "+m);

if (numDias <= i){
/* System.out.println("Entra segundo if: numDias= "+numDias+" i= "+i);
try {
br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
mes++;

}
// else System.out.println("No ha entrado en el 2º IF (numDias <= i). numDias= "+numDias+" i= "+i);
if (setm == setmana)continuar=false;


}

}
Una cosa conforme tiene la lectura de los datos iniciales si te ponen solo una cifra para la semana, peta. Prueba a usar Split en vez de Substring.

Es gracioso porque ayer me dijo Bloody que lo habías sacado justo 10 min despues de sacarlo yo xDDDD
Muchas gracias igual, ahora estoy limando asperezas, aunque lo he hecho algo diferente a ti, que ahi hay cosas que yo no se que son. Que es eso del split?
Lo que pasaba era eso, que no me calculaba las semanas porque no salia del bucle hasta que calculaba el mes entero, lo cual era una putada. Pero puse
Código:
if (setm >= setmana){
                  break;}
y todo se arreglo.

Btw anus, esto es mucho mejor que cambiar piezas del ordenador y seccionar redes y esas mierdas. Yo estoy en el modulo de Sistemas operativos y redes, y creo que el año que viene me cambiaré al de programación que es mucho más divertido.

Ahora estoy mirando de hacer que calcule bien las semanas, que me dice bien el mes pero las semanas no acaban de estar bien del todo.

Spoiler:
Código:
 import cs1.Keyboard;

  public class prova_calendariv1_3 {
 
      public static void main (String args [] ) {
     
      //Variables
        String tmp, nom, data, mes_nom = "",espai = "", mes_any, opcio = "", opcio2 = "", set_any, dia_set, mes_= "\t\t\t\tGener";
        int dia, mes = 1, longData, n = 0, any, i=0, comença = 0, numDias = 30, m = 0, setmana, setm =01;
         
         
         
     
        System.out.print("\nIntrodueix la setmana i l'any(ss/aaaa): ");
        set_any = Keyboard.readString();
            
                        
        setmana = Integer.valueOf(set_any.substring(0,2)).intValue();
         
        any = Integer.valueOf(set_any.substring(3)).intValue();
         
        n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
        comença = n % 7;
        
              
         
        while (setm < setmana){
       
            for (i = 1; i <= numDias; i++){
              if (setm >= setmana){
                  break;} 
                       
              switch (mes) {
                  case 1:
                    mes_ = "\t\t\tGener";
                    numDias = 31;
                    break;
                  case 3:
                    mes_ ="\t\t\tMarç";
                    numDias = 31;
                    break;
                  case 5:
                    mes_ = "\t\t\tMaig";
                    numDias = 31;
                    break; 
                  case 7:
                    mes_ = "\t\t\tJuliol"; 
                    numDias = 31;
                    break;     
                  case 8:
                    mes_ = "\t\t\tAgost";
                    numDias = 31;
                    break;
                  case 10:
                    mes_ ="\t\t\tOctubre";
                    numDias = 31;
                    break;
                  case 12:
                    mes_ = "\t\t\tDesembre";
                    numDias = 31;
                    break;
                  case 4:
                    mes_ = "\t\t\t\tAbril";
                    numDias = 30;
                    break;       
                  case 6:
                    mes_ = "\t\t\t\tJuny";
                    numDias = 30;
                    break;
                  case 9:
                    mes_ = "\t\t\t\tSeptembre";
                    numDias = 30;
                    break;
                  case 11:
                    mes_ = "\t\t\t\tNovembre";
                    numDias = 30;
                    break;
                  case 2:
                    mes_ = "\t\t\t\tFebrer";
                    if ( ((any % 4 == 0) && !(any % 100 == 0)) || (any % 400 == 0) )
                        numDias = 29;
                    else
                        numDias = 28;
                    break;
                  default: mes_ = "Mes no valid";
              }
           
         
           
             
              m++;
           
             
               
              if (numDias == i){
                  mes++;
             
              }
              if (m == 7){
                  m = 0;
                  setm++;
              }   
           
            }
                        
       
        }   
         
         
        System.out.print(mes_+ " - " + any + "\n");
        System.out.print("\n\n\tset\tDl\tDt\tDc\tDj\tDv\tDs\tDg  ");
        System.out.print("\n");
     
       
        if (mes <= 2){
            n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
            comença = n % 7;}
                 
        else {
            n = any + 31 * (mes-1) + 1 - (4 * mes + 23) / 10 + any / 4 - (3 * (any / 100 + 1)) / 4 - 1;
            comença = n % 7;}
         
  if (comença >= 4 || comença == 0)
        setm += 1;
      
        switch (comença){
            case 0: espai = "\t\t\t\t\t\t\t";
              m = 7;
              break;
            case 1: espai = "\t";
              m = 1;
              break;
            case 2: espai = "\t\t";
              m = 2;
              break;
            case 3: espai = "\t\t\t";
              m = 3;
              break;
            case 4: espai = "\t\t\t\t";
              m = 4;
              break;
            case 5: espai = "\t\t\t\t\t";
              m = 5;
              break;
            case 6: espai = "\t\t\t\t\t\t";
              m = 6;
              break;
       
           
        }
         
         
        System.out.print(espai);
     
     
        for (i = 1; i <= numDias; i++){
           System.out.print("\t"+i);       
            
            if (m == 0)
              System.out.print("\n");
           
            else
              if (m == 7){
                  System.out.print("\n");
                  m = 0;
                  setm++;
                  System.out.print("\t"+setm);
              }
            m++;
           
           
       
       
           
        }
   

                  
                           
         
         //en 10/1990 comença tindria que ser 4 i es 0
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
      }
  }
Again, merci por el curro.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Mar Ene 24, 2012 11:51 pm

werler escribió:Es gracioso porque ayer me dijo Bloody que lo habías sacado justo 10 min despues de sacarlo yo xDDDD
Muchas gracias igual, ahora estoy limando asperezas, aunque lo he hecho algo diferente a ti, que ahi hay cosas que yo no se que son. Que es eso del split?
Lo que pasaba era eso, que no me calculaba las semanas porque no salia del bucle hasta que calculaba el mes entero, lo cual era una putada. Pero puse
Código:
if (setm >= setmana){
                  break;}
y todo se arreglo.

Btw anus, esto es mucho mejor que cambiar piezas del ordenador y seccionar redes y esas mierdas. Yo estoy en el modulo de Sistemas operativos y redes, y creo que el año que viene me cambiaré al de programación que es mucho más divertido.

Ahora estoy mirando de hacer que calcule bien las semanas, que me dice bien el mes pero las semanas no acaban de estar bien del todo.

Spoiler:
Código:
 import cs1.Keyboard;

  public class prova_calendariv1_3 {
 
      public static void main (String args [] ) {
     
      //Variables
        String tmp, nom, data, mes_nom = "",espai = "", mes_any, opcio = "", opcio2 = "", set_any, dia_set, mes_= "\t\t\t\tGener";
        int dia, mes = 1, longData, n = 0, any, i=0, comença = 0, numDias = 30, m = 0, setmana, setm =01;
         
         
         
     
        System.out.print("\nIntrodueix la setmana i l'any(ss/aaaa): ");
        set_any = Keyboard.readString();
            
                        
        setmana = Integer.valueOf(set_any.substring(0,2)).intValue();
         
        any = Integer.valueOf(set_any.substring(3)).intValue();
         
        n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
        comença = n % 7;
        
              
         
        while (setm < setmana){
       
            for (i = 1; i <= numDias; i++){
              if (setm >= setmana){
                  break;} 
                       
              switch (mes) {
                  case 1:
                    mes_ = "\t\t\tGener";
                    numDias = 31;
                    break;
                  case 3:
                    mes_ ="\t\t\tMarç";
                    numDias = 31;
                    break;
                  case 5:
                    mes_ = "\t\t\tMaig";
                    numDias = 31;
                    break; 
                  case 7:
                    mes_ = "\t\t\tJuliol"; 
                    numDias = 31;
                    break;     
                  case 8:
                    mes_ = "\t\t\tAgost";
                    numDias = 31;
                    break;
                  case 10:
                    mes_ ="\t\t\tOctubre";
                    numDias = 31;
                    break;
                  case 12:
                    mes_ = "\t\t\tDesembre";
                    numDias = 31;
                    break;
                  case 4:
                    mes_ = "\t\t\t\tAbril";
                    numDias = 30;
                    break;       
                  case 6:
                    mes_ = "\t\t\t\tJuny";
                    numDias = 30;
                    break;
                  case 9:
                    mes_ = "\t\t\t\tSeptembre";
                    numDias = 30;
                    break;
                  case 11:
                    mes_ = "\t\t\t\tNovembre";
                    numDias = 30;
                    break;
                  case 2:
                    mes_ = "\t\t\t\tFebrer";
                    if ( ((any % 4 == 0) && !(any % 100 == 0)) || (any % 400 == 0) )
                        numDias = 29;
                    else
                        numDias = 28;
                    break;
                  default: mes_ = "Mes no valid";
              }
           
         
           
             
              m++;
           
             
               
              if (numDias == i){
                  mes++;
             
              }
              if (m == 7){
                  m = 0;
                  setm++;
              }   
           
            }
                        
       
        }   
         
         
        System.out.print(mes_+ " - " + any + "\n");
        System.out.print("\n\n\tset\tDl\tDt\tDc\tDj\tDv\tDs\tDg  ");
        System.out.print("\n");
     
       
        if (mes <= 2){
            n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
            comença = n % 7;}
                 
        else {
            n = any + 31 * (mes-1) + 1 - (4 * mes + 23) / 10 + any / 4 - (3 * (any / 100 + 1)) / 4 - 1;
            comença = n % 7;}
         
  if (comença >= 4 || comença == 0)
        setm += 1;
      
        switch (comença){
            case 0: espai = "\t\t\t\t\t\t\t";
              m = 7;
              break;
            case 1: espai = "\t";
              m = 1;
              break;
            case 2: espai = "\t\t";
              m = 2;
              break;
            case 3: espai = "\t\t\t";
              m = 3;
              break;
            case 4: espai = "\t\t\t\t";
              m = 4;
              break;
            case 5: espai = "\t\t\t\t\t";
              m = 5;
              break;
            case 6: espai = "\t\t\t\t\t\t";
              m = 6;
              break;
       
           
        }
         
         
        System.out.print(espai);
     
     
        for (i = 1; i <= numDias; i++){
           System.out.print("\t"+i);       
            
            if (m == 0)
              System.out.print("\n");
           
            else
              if (m == 7){
                  System.out.print("\n");
                  m = 0;
                  setm++;
                  System.out.print("\t"+setm);
              }
            m++;
           
           
       
       
           
        }
   

                  
                           
         
         //en 10/1990 comença tindria que ser 4 i es 0
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
      }
  }
Again, merci por el curro.
Nah, no te preocupes, si te sale alguna otra movida ya sabes donde encontrarme. EL Split es un comando que parte cadenas en función de un carácter dado, por ejemplo si ponemos
Código:
int j = 0;

String linea = "Werler es un paquete";

String [] palabras= linea.split("\\s+");

while(j<palabras.length){

System.out.println(campos[j]+ "\n");

j++;

}

En cada posición de palabras te guarda una palabra de la frase. Esto si haces el Split con "/" en tu código te separaría la semana y el año sin necesidad de establecer longitudes. Pero si tu profesor no os lo ha ensañado, mejor usa lo que te ha enseñado, que les mola más.

¡¡Que dices loco!! Si no te mola los SO y Redes es porque estudiáis la parte chunga... Mi núcleo es justo ese SO y Redes y hay asignaturas interesantes de la hostia, como Estudio de un Sistema Operativo, donde vez todo el código fuente de las partes más importantes de Linux y aprendes a programarlos (programé un controlador para un display de 7 segmentos. O Seguridad en Sistemas Informáticos, donde evidentemente, ves todo lo relacionado con seguridad.... no sé a mi me gusta mucho el tema de redes y SO... comprender como funciona Internet desde que el usuario pulsa un enlace hasta como visualiza la respuesta, pasando por generación de paquetes, enrutamiento, BGP... Aunque claro, cada uno lo suyo...

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Miér Ene 25, 2012 12:04 am

Ten en cuenta que tu hiciste la carrera, eso será mas interesante. A mi en sistemas operativos me han enseñado a hacer que chuten las máquinas virtuales, promocionar dominios, y crear usuarios. Huelga decir que es aburrido de cojones. Ahora empezamos a crear usuarios con javascript, que es mas o menos interesante, pero lo hecho hasta ahora, mierda. El primer año es comun en todos los modulos, pero el año que viene haremos redes (este no) peror ecuerdo lo del grado medio y como que me duermo. A programar y luego si eso hago el de aplicaciones web.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Miér Ene 25, 2012 12:07 am

werler escribió:Ten en cuenta que tu hiciste la carrera, eso será mas interesante. A mi en sistemas operativos me han enseñado a hacer que chuten las máquinas virtuales, promocionar dominios, y crear usuarios. Huelga decir que es aburrido de cojones. Ahora empezamos a crear usuarios con javascript, que es mas o menos interesante, pero lo hecho hasta ahora, mierda. El primer año es comun en todos los modulos, pero el año que viene haremos redes (este no) peror ecuerdo lo del grado medio y como que me duermo. A programar y luego si eso hago el de aplicaciones web.
Hombre gestión de dominios y usuarios no es divertido... Linux o Windows, es un coñazo igual... hombre luego mola si llegas a usar Kerberos que es para mezclar sistemas Unix y Windows, pero poco más... Lo que mola de SO es verle las tripas y saber como chuta.

ues nada, si necesitas ayuda yo por 50€ o una mamada, te ayudo.

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  Anus el Miér Ene 25, 2012 1:06 am

A mi las redes me aburren,eso o es mi profesor que habla en monótono y para el mismo.
avatar
Anus
Putilla de extrarradio
Putilla de extrarradio

Mensajes : 187
Puterío : 5
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Miér Ene 25, 2012 3:20 am

Anus escribió:A mi las redes me aburren,eso o es mi profesor que habla en monótono y para el mismo.
Yo comprendo que hay mucho desengaño, yo mismo cuando entré en la carrera no me esperaba la que me venía encima, más que nada porque la informática es un campo jodidamente abstracto y el 90% de las estructuras son lógicas, es decir que no son físicas... Pero no sé, yo cuando empecé a comprender como funciona un computador, me motivó un huevo. Para mi lo más entretenido de mi campo, porque se asemeja a "un juego", es la Seguridad. Es la repolla todas las tramas que puedes hacer tanto "defendiendo" como "atacando".

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Miér Ene 25, 2012 11:38 pm

Vengo a tocar un poco más los cojones. Ya me printa el programa bien y todo eso, el problema es que por algún motivo coge siempre la última semana del mes como el mes siguiente. Eso tiene que ser así, siempre y cuando esa última semana acabe el miercoles o antes. Pero el caso es que la coge como que es del siguiente mes aún acabando el sábado. Yo ya no puedo con mi vida, ODIO las putas fechas.

Spoiler:
Código:
import cs1.Keyboard;

  public class prova_calendariv1_3 {
 
      public static void main (String args [] ) {
     
      //Variables
        String  control = "", control_="", nom, data, mes_nom = "",espai = "", mes_any, opcio = "", opcio2 = "", set_any, dia_set, mes_= "\t\t\t\tGener";
        int dia = 0, mes = 0,h=0, longData = 0, n = 0, any = 0, i = 0, comença = 0, numDias = 30, ultimDia, m = 0, setmana = 1, setm = 0;
         
        while (longData != 7 || !control.equals("/")){         
       
       
            System.out.print("\nIntrodueix la setmana i l'any(ss/aaaa): ");
            set_any = Keyboard.readString();
       
            longData = set_any.length();
            control = set_any.substring(2,3);   
            if (longData !=7 || !control.equals("/")){
              System.out.print("\nLa data introduïda es incorrecta!\n");}
                 
            else{
           
                     
              setmana = Integer.valueOf(set_any.substring(0,2)).intValue();
              any = Integer.valueOf(set_any.substring(3)).intValue();
           
              mes = 1;
              n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
              comença = n % 7;
           
             
           
              while (setm < setmana){
                  for (i = 1; i <= numDias; i++){
                    if (setm >= setmana){
                   
                        break;} 
                       
                    switch (mes) {
                        case 1:
                          mes_ = "\t\t\tGener";
                          numDias = 31;
                          break;
                        case 3:
                          mes_ ="\t\t\tMarç";
                          numDias = 31;
                          break;
                        case 5:
                          mes_ = "\t\t\tMaig";
                          numDias = 31;
                          break; 
                        case 7:
                          mes_ = "\t\t\tJuliol"; 
                          numDias = 31;
                          break;     
                        case 8:
                          mes_ = "\t\t\tAgost";
                          numDias = 31;
                          break;
                        case 10:
                          mes_ ="\t\t\tOctubre";
                          numDias = 31;
                          break;
                        case 12:
                          mes_ = "\t\t\tDesembre";
                          numDias = 31;
                          break;
                        case 4:
                          mes_ = "\t\t\t\tAbril";
                          numDias = 30;
                          break;       
                        case 6:
                          mes_ = "\t\t\t\tJuny";
                          numDias = 30;
                          break;
                        case 9:
                          mes_ = "\t\t\t\tSeptembre";
                          numDias = 30;
                          break;
                        case 11:
                          mes_ = "\t\t\t\tNovembre";
                          numDias = 30;
                          break;
                        case 2:
                          mes_ = "\t\t\t\tFebrer";
                          if ( ((any % 4 == 0) && !(any % 100 == 0)) || (any % 400 == 0) )
                              numDias = 29;
                          else
                              numDias = 28;
                          break;
                        default: mes_ = "Mes no valid";
                    }
                 
                 
                 
                 
                    m++;
                 
                 
                 
                    if (numDias == i){
                        mes++;
                        h = 0;
                   
                    }
                    if (m == 7){
                        m = 0;
                        setm++;
                        h++;
                    }   
                 
                  }
               
             
              }   
           
           
              System.out.print(mes_+ " - " + any + "\n");
              System.out.print("\n\n\tset\tDl\tDt\tDc\tDj\tDv\tDs\tDg  ");
              System.out.print("\n");
           
           
              if (mes <= 2){
                  n = any + 31 * (mes - 1) + (any - 1) / 4 - 3 * ((any + 99) / 100) / 4;
                  comença = n % 7;}
                 
              else {
                  n = any + 31 * (mes-1) + 1 - (4 * mes + 23) / 10 + any / 4 - (3 * (any / 100 + 1)) / 4 - 1;
                  comença = n % 7;}
           
           
           
              switch (comença){
                  case 0: espai = "\t\t\t\t\t\t";
                    m = 7;
                    break;
                  case 1: espai = "";
                    m = 1;
                    break;
                  case 2: espai = "\t";
                    m = 2;
                    break;
                  case 3: espai = "\t\t";
                    m = 3;
                    break;
                  case 4: espai = "\t\t\t";
                    m = 4;
                    break;
                  case 5: espai = "\t\t\t\t";
                    m = 5;
                    break;
                  case 6: espai = "\t\t\t\t\t";
                    m = 6;
                    break;
             
             
              }
           
             
              setm = setm - h;
              if (setmana == setm)
              //la semana buscada = primera semana dun mes I la setmana menys de 4 dies un mes enrere
             
                  if (setm == 0){
                    setm = setm + 1;
                  }
              if (comença >= 4 || comença == 0){
                  setm = setm +1;
               }
                 
                 
                  
              System.out.print("\t"+setm);
             
               
                 
                 
                   
               
              System.out.print(espai);
              for (i = 1; i <= numDias; i++){
                 
                  System.out.print("\t"+i);       
             
                  if (m == 0)
                    System.out.print("\n");
                 
                  else
                    if (m == 7){
                        if(setmana==setm){
                          System.out.print("  <<<<<");}
                        System.out.print("\n");
                        m = 0;
                        setm++;
                        System.out.print("\t"+setm);
                    }
                  m++;
                               
             
             
             
             
             
              }
            }
        }
     
     
                  
                           
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
      }
  }
Si no tiene respuesta lo entenderé, estoy ya por entregarlo así y a tomar por culo.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Miér Feb 08, 2012 11:22 pm

A ver Werler te estás liando un poco con los conceptos. por una parte están las propiedades de los métodos que te dicen que tipo de valor van a retornar cuando se acabe la invocación del método, como por ejemplo:

Código:
int calculardía()
{
int dia
  <Lo que sea>
return dia;
}
Este método de devuelve un int...

Código:
void guardar datos()
{
<Lo que sea>
}
Este método no devuelve nada solo hace operaciones del tipo que sean.


Por otra parte está la visibilidad que implica en que clases de tu jerarquía de clases son visibles que métodos. Por ejemplo, yo tengo esta clase:

Código:
public class calculosvarios
{
  public int calculodia(){...}
  private double calculoPI(){...}
}

Si luego en otra clase creo un objeto calculosvarios comprobaré que solo puedo invocar al método calculodia y no a calculoPI porque calculoPI está como private para la clase calculosvarios, es decir, no es visible desde clases externas.

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Jue Feb 09, 2012 2:06 am

Levinor escribió:A ver Werler te estás liando un poco con los conceptos. por una parte están las propiedades de los métodos que te dicen que tipo de valor van a retornar cuando se acabe la invocación del método, como por ejemplo:

Código:
int calculardía()
{
int dia
  <Lo que sea>
return dia;
}
Este método de devuelve un int...

Código:
void guardar datos()
{
<Lo que sea>
}
Este método no devuelve nada solo hace operaciones del tipo que sean.


Por otra parte está la visibilidad que implica en que clases de tu jerarquía de clases son visibles que métodos. Por ejemplo, yo tengo esta clase:

Código:
public class calculosvarios
{
  public int calculodia(){...}
  private double calculoPI(){...}
}

Si luego en otra clase creo un objeto calculosvarios comprobaré que solo puedo invocar al método calculodia y no a calculoPI porque calculoPI está como private para la clase calculosvarios, es decir, no es visible desde clases externas.
Entiendo. Es que esto me lo he mirado yo por mi cuenta y no lo he encontrado muy claro en ningún lugar, hoy a ver si me lo acaban de explicar. Si me quedo igual tranquilo que te pregunto.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Jue Feb 09, 2012 4:28 am

werler escribió:Entiendo. Es que esto me lo he mirado yo por mi cuenta y no lo he encontrado muy claro en ningún lugar, hoy a ver si me lo acaban de explicar. Si me quedo igual tranquilo que te pregunto.
¡Ah ok, ok! Tranquilo que yo te lo voy apuntando todo en la cuenta... xDD

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Jue Feb 09, 2012 8:22 am

Levinor escribió:
werler escribió:Entiendo. Es que esto me lo he mirado yo por mi cuenta y no lo he encontrado muy claro en ningún lugar, hoy a ver si me lo acaban de explicar. Si me quedo igual tranquilo que te pregunto.
¡Ah ok, ok! Tranquilo que yo te lo voy apuntando todo en la cuenta... xDD
Dos horas buscando ayer y era una gilipollez.
Tenía un ejercicio que era hacer una función que devolviese el máximo de tres números, era public class int. Hasta ahí bien. Despues me pide lo mismo, pero siendo public class void. Y claro, no encontré en ningún puto lugar como devolver el void. Simplemente era printar en la función el resultado y ya.
Pero bueh, al menos puedo seguir y soy feliz de la vida. Que raro, eso de que me guste hacer algo.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Jue Feb 09, 2012 8:20 pm

werler escribió:Dos horas buscando ayer y era una gilipollez.
Tenía un ejercicio que era hacer una función que devolviese el máximo de tres números, era public class int. Hasta ahí bien. Despues me pide lo mismo, pero siendo public class void. Y claro, no encontré en ningún puto lugar como devolver el void. Simplemente era printar en la función el resultado y ya.
Pero bueh, al menos puedo seguir y soy feliz de la vida. Que raro, eso de que me guste hacer algo.


Hay otras técnicas, como el paso de parámetros mediante propiedades... pero ya lo irás viendo.

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Jue Feb 09, 2012 11:05 pm

Levinor escribió:
werler escribió:Dos horas buscando ayer y era una gilipollez.
Tenía un ejercicio que era hacer una función que devolviese el máximo de tres números, era public class int. Hasta ahí bien. Despues me pide lo mismo, pero siendo public class void. Y claro, no encontré en ningún puto lugar como devolver el void. Simplemente era printar en la función el resultado y ya.
Pero bueh, al menos puedo seguir y soy feliz de la vida. Que raro, eso de que me guste hacer algo.


Hay otras técnicas, como el paso de parámetros mediante propiedades... pero ya lo irás viendo.
Yo de eso no sabo. Pero igual me puedes decir una cosa que seguro es una gilipollez pero no encuentro por ningún lado.
Código:
  import cs1.Keyboard;

  public class ex3_conversio_temperatures {
     
      float Fhar, Celsius, cel;
      private static void FahrtoCel(float Fhar){
         
        float Celsius;
         
        Fhar -= 32;
        Celsius = Fhar * 5/9;
        System.out.print("\nSon " + Celsius + " graus celsius.");
      }
        
        
      private static float CeltoRen(float cel){
         
         
        return cel / (float)1.25;
         
      }
     
      public static void main(String args[]){
         
        float  far, reaumur;
         
         
        System.out.print("\nIntrodueix la mesura en Fahrenheit a passar a Celsius: ");
        far = Keyboard.readFloat();
         
         
        FahrtoCel(far);
        reaumur = CeltoRen(Celsius);
        System.out.print("\nSon " + reaumur + " graus reaumur.");
         
         
         
      }
  }
En el programa principal intento llamar la segunda función usando el valor celsius de la primera, pero no deja de darme error con todo lo que pruebo.


Última edición por werler el Vie Feb 10, 2012 2:13 am, editado 4 veces
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Jue Feb 09, 2012 11:28 pm

Te faltaban un par de Statics (por el rollo de usar variables static en métodos static) y una variable que se te había ido de varas y gastabas otra:

Código:
import java.io.InputStreamReader;


public class ex3_conversio_temperatures {

    float Fhar;
   static float Celsius;
   float cel;
    private static  void FahrtoCel(float Fhar){
     
      float Celsius;
       
      Fhar -= 32;
      Celsius = Fhar * 5/9;
      System.out.print("\nSon " + Celsius + " graus celsius.");
    }
     
     
    private static  float CeltoRen(float cel){
     
     
      return cel / (float)1.25;
     
    }
 
    public static void main(String args[]) throws NumberFormatException, IOException{
     
      float  far, reaumur;
     
     
      System.out.print("\nIntrodueix la mesura en Fahrenheit a passar a Celsius: ");
      InputStreamReader reader = new InputStreamReader (System.in);
      BufferedReader buf_reader = new BufferedReader (reader);
      far = Float.parseFloat(buf_reader.readLine());
     
     
      FahrtoCel(far);
      reaumur = CeltoRen(far);
      System.out.print("\nSon " + reaumur + " graus reaumur.");
     
     
     
    }
}

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  werler el Vie Feb 10, 2012 1:01 am

Levinor escribió:Te faltaban un par de Statics (por el rollo de usar variables static en métodos static) y una variable que se te había ido de varas y gastabas otra:

Código:
import java.io.InputStreamReader;


public class ex3_conversio_temperatures {

    float Fhar;
   static float Celsius;
   float cel;
    private static  void FahrtoCel(float Fhar){
     
      float Celsius;
       
      Fhar -= 32;
      Celsius = Fhar * 5/9;
      System.out.print("\nSon " + Celsius + " graus celsius.");
    }
     
     
    private static  float CeltoRen(float cel){
     
     
      return cel / (float)1.25;
     
    }
 
    public static void main(String args[]) throws NumberFormatException, IOException{
     
      float  far, reaumur;
     
     
      System.out.print("\nIntrodueix la mesura en Fahrenheit a passar a Celsius: ");
      InputStreamReader reader = new InputStreamReader (System.in);
      BufferedReader buf_reader = new BufferedReader (reader);
      far = Float.parseFloat(buf_reader.readLine());
     
     
      FahrtoCel(far);
      reaumur = CeltoRen(far);
      System.out.print("\nSon " + reaumur + " graus reaumur.");
     
     
     
    }
}
Lo del InputStreamReader reader = new InputStreamReader (System.in); es para coger la variable que metas pero sinedo guay, no? Tu codigo me da error, en el buffered reader. Pero he pillado lo de poner statica las variables de arriba, el celsius que quiero coger. Pero ahora me da zero la funcion y no deberia, 15 grados fahrenheit son -7,56 grados reaumur. El error:
Código:
ex3_conversio_temperatures.java:26: error: cannot find symbol
      public static void main(String args[]) throws NumberFormatException, IOException{
                                                                          ^
  symbol:  class IOException
  location: class ex3_conversio_temperatures
ex3_conversio_temperatures.java:33: error: cannot find symbol
        BufferedReader buf_reader = new BufferedReader (reader);
        ^
  symbol:  class BufferedReader
  location: class ex3_conversio_temperatures
ex3_conversio_temperatures.java:33: error: cannot find symbol
        BufferedReader buf_reader = new BufferedReader (reader);
                                        ^
  symbol:  class BufferedReader
  location: class ex3_conversio_temperatures
3 errors

Me parece que eso es importar un paquete de excepciones o algo asina, no? Pero ni zorra hoygan.
Edito: He importado el java.io y ya funciona tu codigo. Ara a ver en que se diferencia del mio.
Edito otra vez. Vale, ya he pillado todo, pero hay un pequeño fallo. En la segunda funcion, se tiene que coger los grados celsius, no los farhenheit. Si los grados metidos por pantalla son 15 grados farhenheit, los celsius son -9,4. Entonces tendria que hacerse -9,4 * 0.8, que es la formula de celsius a raumeur. Pero hace los 15 gº far * 0,8. Sigue fallandome lo mismo, no puedo coger la variable celsius, que es lo que me jode la vida. A ver si puedo preguntarlo en clase hoy.
Dios, he editado cuatro veces un mensaje de arriba pensando que era este.
avatar
werler
Puta a secas
Puta a secas

Mensajes : 500
Puterío : 12
Fecha de inscripción : 07/01/2012

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Vie Feb 10, 2012 4:04 am

Si, lo del Buffer y los Throws y todo eso es por manía mía Razz Ni caso, es para capturar entradas de teclado, tu hazlo como te lo explicaron.

Ah vale, vale, ya lo he visto (antes lo he mirado así a medias Razz), el tema es que te habías declarado dos veces Celsius, una global para la clase y otra local a FahrtoCel. Operabas en la local a FahrtoCel dejando la global a cero. Cuando en el segundo método usas Celsius estás utilizando la global, que al no darle valor está vacía.

Simplemente borra la definición de float Celsius de dentro de FahrtoCel y declárala junto a Fhar y cel.

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  Borrachuzo el Sáb Mar 17, 2012 11:27 am

Pregunta para los informáticos, un programa de java, indenpendientemente del tamaño sobre el archivo con el que trabaje, ¿cuantos Gb te puede cojer de RAM sin petar?. Es que ahora mismo estoy trabajando en un cluster con una RAM de unos 48Gb como máximo, y el programa de java me genera unos 1000 archivos temporales de 100 y pico Mb cada uno (en total unos 130 Gb), y lleva días jodiéndose hasta que le he dado para que me pille unos 1500000 reads en RAM. Es para que en el futuro no me vuelva a pasar (si no sabeis de lo que hablo, olvidadlo).
avatar
Borrachuzo
Puta de lujo
Puta de lujo

Mensajes : 823
Puterío : 36
Fecha de inscripción : 07/01/2012
Edad : 31
Localización : Ginnungagap

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Jue Mar 22, 2012 3:29 am

Borrachuzo escribió:Pregunta para los informáticos, un programa de java, indenpendientemente del tamaño sobre el archivo con el que trabaje, ¿cuantos Gb te puede cojer de RAM sin petar?. Es que ahora mismo estoy trabajando en un cluster con una RAM de unos 48Gb como máximo, y el programa de java me genera unos 1000 archivos temporales de 100 y pico Mb cada uno (en total unos 130 Gb), y lleva días jodiéndose hasta que le he dado para que me pille unos 1500000 reads en RAM. Es para que en el futuro no me vuelva a pasar (si no sabeis de lo que hablo, olvidadlo).

Entiendo tu pregunta, pero es que eso varía de programa en programa. El espacio en memoria RAM que necesite cada programa depende del número de variables/rutinas/datos/... que quiera tener almacenadas en memoria en cada espacio de tiempo, además de las rutinas que necesariamente deben estar en ejecución para que este programa pueda funcionar (como por ejemplo la JVM...). Así que esto principalmente depende de la forma en la que se ha programado dicho programa, es decir si el código está bien optimizado...

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  Riff Raff el Lun Jul 16, 2012 10:51 pm

No he leído el post, pero vengo a decir que pronto me voy a estrenar en estos y demás temas informáticos
avatar
Riff Raff
Putón Verbenero

Mensajes : 795
Puterío : 8
Fecha de inscripción : 02/01/2012
Edad : 28
Localización : Detrás de ti

http://lacueva.foroactivo.eu

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Lun Jul 16, 2012 11:06 pm

Riff, los vibradores ya vienen con los programas de vibración preestablecidos...

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  Riff Raff el Lun Jul 16, 2012 11:09 pm

Levinor escribió:Riff, los vibradores ya vienen con los programas de vibración preestablecidos...
Alguien tiene que perfeccionarlos. Pero no, no me refiero a eso. Me he matriculado en un grado superior de Desarrollo de Aplicaciones Web
avatar
Riff Raff
Putón Verbenero

Mensajes : 795
Puterío : 8
Fecha de inscripción : 02/01/2012
Edad : 28
Localización : Detrás de ti

http://lacueva.foroactivo.eu

Volver arriba Ir abajo

Re: Programación

Mensaje  Levinor el Lun Jul 16, 2012 11:12 pm

Riff Raff escribió:
Levinor escribió:Riff, los vibradores ya vienen con los programas de vibración preestablecidos...
Alguien tiene que perfeccionarlos. Pero no, no me refiero a eso. Me he matriculado en un grado superior de Desarrollo de Aplicaciones Web

_________________
avatar
Levinor
Putón Verbenero

Mensajes : 1198
Puterío : 13
Fecha de inscripción : 02/01/2012
Edad : 105
Localización : Vivo con tu madre.

Volver arriba Ir abajo

Re: Programación

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 3 de 5. Precedente  1, 2, 3, 4, 5  Siguiente

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.