Avatar billede missmalik Nybegynder
16. november 2004 - 21:07 Der er 24 kommentarer og
1 løsning

En lille nem grafisk opgave

Hej

Jeg skal lave en lille grafisk metode, hvor jeg printerfem stjerner på skærmen som kommer til at se sådan ud
*
*
  *
  *

Jeg er kommet så langt, men kan ikke få den til at printe stjerner skråt
public class drawStar
{

public static void main(String[] args)
{

    final int Max_Lines=5;

    for(int line=1; line<=Max_Lines; line++ )
    {
        for (int star=1; star <= line; star++  );

    System.out.println("*");





        }

    }
}
Avatar billede arne_v Ekspert
16. november 2004 - 21:09 #1
Prøv:

for(int line=1; line<=Max_Lines; line++ )
    {
        for (int star=1; star <= line; star++  ) System.out.print(" ");

    System.out.println("*");





        }
Avatar billede missmalik Nybegynder
16. november 2004 - 21:13 #2
Gør ingen nogen forskel,,, Den printer stadigvæk stjerner på en ret linie
Avatar billede arne_v Ekspert
16. november 2004 - 21:15 #3
Bliver de mellemrum total ignoreret ?
Avatar billede arne_v Ekspert
16. november 2004 - 21:16 #4
Jeg får:

C:\>javac drawStar.java

C:\>java drawStar
*
  *
  *
    *
    *
Avatar billede missmalik Nybegynder
16. november 2004 - 21:24 #5
nu går det den rigtigt. Men vis jeg nu gerne vil have, at den skifter én linie ned og to tegnpositioner til højre....
Avatar billede arne_v Ekspert
16. november 2004 - 21:28 #6
erstat

System.out.print(" ");

med

System.out.print("  ");
Avatar billede arne_v Ekspert
16. november 2004 - 21:28 #7
(fra 1 til 2 mellemrum)
Avatar billede kalp Novice
16. november 2004 - 22:01 #8
jeg er ikke helt med på hvad du vil have for et mønster..

men prøv dette

for(int i = 0; i < 5; i++)
    {
      if (i < 2)
      System.out.println("*");
      else
      System.out.println("  *");
    }


giver

*

*

  *

  *

  *



ellers må du lige tegne det hvordan du vil have det
Avatar billede kalp Novice
16. november 2004 - 22:05 #9
for(int i = 0; i < 5; i++)
    {
      if (i < 2)
      {
      System.out.print("\n");
      System.out.print("*"); 
      }
      else
      System.out.print("\n  *");
    }



*
*
  *
  *
  *


giver dette.. hvis der ikke måtte være linier imellem dem
Avatar billede missmalik Nybegynder
16. november 2004 - 22:11 #10
jeg mangler bare en mindre detalje, der skal indsætte en lille pause inden hver stjerne bliver udskrevet:

Jeg har prøvet med
try{
Thread.sleep(detantal sekunder)
min kode
}
catch(Exception e){


men når jeg compiler siger den fejl
//}
Avatar billede arne_v Ekspert
16. november 2004 - 22:13 #11
Hvilken fejl ?

Husk at det ikke er sekunder men millisekunder du angiver !
Avatar billede kalp Novice
16. november 2004 - 22:13 #12
du skal bruge

try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
Avatar billede missmalik Nybegynder
16. november 2004 - 22:17 #13
public class drawStar
{

public static void main(String[] args)
{

    try{
    Thread.sleep(1000);

    final int Max_Lines=5;

    for(int line=1; line<=Max_Lines; line++ )
    {
        for (int star=1; star <= line; star++ ) System.out.print(" ");


    System.out.println("*");
    }
    catch(InterruptedException e);{

            }
        }

    }
}



gør jeg det sådan siger den fejl
Avatar billede kalp Novice
16. november 2004 - 22:19 #14
til min egen kode ville jeg bare gøre sådan.. kigger lige på din

    for(int i = 0; i < 5; i++)
    {
      try
      {
  Thread.sleep(1000);
      }
      catch (InterruptedException e)
      {}
      if (i < 2)
      {
      System.out.print("\n");
     
      System.out.print("*"); 
      }
      else

      System.out.print("\n  *");
 
    }
Avatar billede arne_v Ekspert
16. november 2004 - 22:22 #15
public class drawStar
{
  public static void main(String[] args)
  {
      try{
          Thread.sleep(1000);
          final int Max_Lines=5;
          for(int line=1; line<=Max_Lines; line++ )
          {
              for (int star=1; star <= line; star++ ) System.out.print(" ");
              System.out.println("*");
          }
      }
      catch(InterruptedException e)
      {
      }
  }
}


virker
Avatar billede kalp Novice
16. november 2004 - 22:22 #16
du lukker jo ikke for din try... jo men for forkert.

istedet for at gøre det der kan du bare skrive

try
      {
  Thread.sleep(1000);
      }
      catch (InterruptedException e)
      {}


over

System.out.print(" ");


    System.out.println("*");
Avatar billede arne_v Ekspert
16. november 2004 - 22:22 #17
Omend jeg tror at du mener:

public class drawStar
{
  public static void main(String[] args)
  {
      try{
          final int Max_Lines=5;
          for(int line=1; line<=Max_Lines; line++ )
          {
              Thread.sleep(1000);
              for (int star=1; star <= line; star++ ) System.out.print(" ");
              System.out.println("*");
          }
      }
      catch(InterruptedException e)
      {
      }
  }
}
Avatar billede arne_v Ekspert
16. november 2004 - 22:23 #18
Og det er en god vane at lave en pæn indrykning.
Avatar billede arne_v Ekspert
12. december 2004 - 20:21 #19
missmalik>

Tid at få afsluttet dette spørgsmål ?
Avatar billede missmalik Nybegynder
16. december 2004 - 12:38 #20
uppsss sorry ppl, 100 år siden jeg har været her.... Hvordan er det nu man lukker ????
Avatar billede arne_v Ekspert
16. december 2004 - 12:43 #21
Avatar billede kalp Novice
16. december 2004 - 12:46 #22
du kan først lukke spørgsmålet når en person har lagt et svar.
Avatar billede missmalik Nybegynder
16. december 2004 - 12:50 #23
jamen, der lægger masser af svar...
Avatar billede arne_v Ekspert
16. december 2004 - 12:54 #24
Speciel måde at læse http://expfaq.1go.dk/?id=3#behandling_af_svar på ...
Avatar billede kalp Novice
16. december 2004 - 12:58 #25
du skulle fortælle den person som skal have point at han/hun skal ligge 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