Avatar billede mik28 Seniormester
27. marts 2004 - 07:49 Der er 21 kommentarer og
1 løsning

værdier i et array

Jeg har lavet en lille klasse som skriver * ud. Det er meningen at jeg gerne vil have resultatet af antal stjerner lagt over i det array jeg returnerer, men jeg er kørt lidt fast.

public class Graf2
{
    public String[] udfor()
    {
     
      for (int i=50;i>=1;i--)
          {
          double uu = (0.2*i*i)+(0.5*i)+2;
       
          Double d = new Double(uu);
            int u = d.intValue();
               
            for (int k=1;k<=u;k++)
            {
            System.out.print("*");
            }
              System.out.println(u);
          }   
   
   
    String[] s = {"test", "test1", "test2"};
    return s;
    }
 
}
Avatar billede busschou Praktikant
27. marts 2004 - 08:53 #1
Antallet af stjerner må være lig u som er en int.
Så du må lave u om til en String bag i dit array.
Ved ikke helt om det virker men måske:
String[] s = {"test", "test1", "test2", u+""};
Avatar billede mik28 Seniormester
27. marts 2004 - 09:01 #2
Tak for inputtet, men det jeg gerne vil er at få antallet af * retuneret i s, så s bliver {"**********","***********" o.s.v}
Avatar billede mik28 Seniormester
27. marts 2004 - 09:10 #3
Det er jo antallet at * for hver gang forløkken kører som jeg gerne vil have ind i arrayet

for (int k=1;k<=u;k++)
            {
            System.out.print("*");
            }
Avatar billede mik28 Seniormester
27. marts 2004 - 09:11 #4
men hvordan ?
Avatar billede busschou Praktikant
27. marts 2004 - 09:13 #5
Så må du erklære dit String array højere oppe med 50 pladser.
I din løkke hvor du tæller k ned må lave en streng som du hele tiden apender din stjerne.
hver gang løkken så er kørt sætter du s[u] = streng
Avatar billede busschou Praktikant
27. marts 2004 - 09:13 #6
undskyld så lige du tæller ned til en... så s[u-1] = streng
Avatar billede mik28 Seniormester
27. marts 2004 - 09:15 #7
Kan du vise mig det



public class Graf2
{
    public String[] udfor()
    {
     
     
     
      for (int i=50;i>=1;i--)
          {
          double uu = (0.2*i*i)+(0.5*i)+2;
       
          Double d = new Double(uu);
            int u = d.intValue();
               
            for (int k=1;k<=u;k++)
            {
            System.out.print("*");
            }
             
              System.out.println(u);
          }   
   
   
    String[] s = {"test", "test1", "test2", "test3"};
    return s;
    }
 
}
Avatar billede mik28 Seniormester
27. marts 2004 - 09:15 #8
Jeg kan bare ikke se det :-(
Avatar billede busschou Praktikant
27. marts 2004 - 09:16 #9
to min
Avatar billede busschou Praktikant
27. marts 2004 - 09:17 #10
noget ala:
public class Graf2
{
    public String[] udfor()
    {
    String[] s = new String[50];
    StringBuffer stjerner = new StringBuffer(); 
     
      for (int i=50;i>=1;i--)
          {
          double uu = (0.2*i*i)+(0.5*i)+2;
       
          Double d = new Double(uu);
            int u = d.intValue();
               
            for (int k=1;k<=u;k++)
            {
          stjerner.append('*');
            }
          s[u-1] = stjerner.toString();
         
          }   
   
   
   
    return s;
    }
 
}
Avatar billede mik28 Seniormester
27. marts 2004 - 09:23 #11
java.lang.ArrayIndexOutOfBoundsException: 526
Avatar billede busschou Praktikant
27. marts 2004 - 09:26 #12
der skal stå i og ikke u ... sorry... altså i-1
Avatar billede mik28 Seniormester
27. marts 2004 - 09:31 #13
Avatar billede mik28 Seniormester
27. marts 2004 - 09:32 #14
hvad går galt??
Avatar billede busschou Praktikant
27. marts 2004 - 09:32 #15
yes du skal hver gang efter den inderste løkke tømme string bufferen eller danne en ny
Avatar billede busschou Praktikant
27. marts 2004 - 09:34 #16
public class Graf2
{
    public String[] udfor()
    {
    String[] s = new String[50];
    StringBuffer stjerner = new StringBuffer(); 
     
      for (int i=50;i>=1;i--)
          {
          double uu = (0.2*i*i)+(0.5*i)+2;
       
          Double d = new Double(uu);
            int u = d.intValue();
               
            for (int k=1;k<=u;k++)
            {
          stjerner.append('*');
            }
stjerner = new StringBuffer();         
s[u-1] = stjerner.toString();
         
          }   
   
   
   
    return s;
    }
 
}
Avatar billede busschou Praktikant
27. marts 2004 - 09:35 #17
self med i istedet for u...doh
Avatar billede mik28 Seniormester
27. marts 2004 - 09:38 #18
Avatar billede busschou Praktikant
27. marts 2004 - 09:38 #19
er den ikke god nok?
Avatar billede mik28 Seniormester
27. marts 2004 - 09:39 #20
jo tak for det
Avatar billede busschou Praktikant
27. marts 2004 - 09:39 #21
så lidt :o)
Avatar billede mik28 Seniormester
27. marts 2004 - 09:40 #22
pointene er dine hvis du ligger et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester