Avatar billede machholdt Nybegynder
13. maj 2010 - 20:01 Der er 6 kommentarer og
1 løsning

Problem med simpelt java program, som skal oprette firkant af asteriks.

hej Eksperter

Læser h. Deitels Java - How to program 8.'ed.
Opg. 4,26
Opgaven lyder at man skal lave et program som udskriver en firkant af "*"-tegn.

Jeg kan lave, toppen, bunden og den venstre side, men kan ikke få den til at lave højre side, hvad gør jeg galt?

package JAVA.HTP8E;

import java.util.Scanner;

public class SquareOfAsterisks
{
    public static void main( String[] args )
    {
        Scanner input = new Scanner( System.in );

        int counter1 = 0;
        int counter2 = 0;
        int sidelenght;
        int height;

        System.out.println("Please enter the lenght of the side of the square (1-20): ");
        sidelenght = input.nextInt();
        height = sidelenght-2;
        System.out.println("");

        while (counter1 < sidelenght)
        {
            System.out.print("*");

            counter1++;
        }
        System.out.println("");
        counter1 = 0;
        while (counter1 < height)
        {
            while (counter2 < sidelenght)
            {
                if (counter2 == 0 )
                {
                    System.out.print("*");
                }
                else if (counter2 != sidelenght )
                {
                    System.out.print(" ");
                }
                else
                {
                    System.out.print("*");
                }
                counter2++;
            }
            counter1++;
            System.out.println("");
            counter2 = 0;
        }
        counter1 = 0;
        while (counter1 < sidelenght)
        {
            System.out.print("*");

            counter1++;
        }
        System.out.println("");

    }
}
Avatar billede arne_v Ekspert
13. maj 2010 - 20:06 #1
proev at aendre

else if (counter2 != sidelenght )

til

else if (counter2 != sidelenght-1 )
Avatar billede machholdt Nybegynder
13. maj 2010 - 20:11 #2
Tak for hurtigt svar.. Og det virkede så det kan jo ikke være bedre. Læg svar.

Tak for hjælpen.
Avatar billede arne_v Ekspert
13. maj 2010 - 20:20 #3
svar
Avatar billede arne_v Ekspert
13. maj 2010 - 20:21 #4
Tricket er naturligvis at jeres kolonner er nummereret 0,..., sidelength-1 ikke 1,..., sidelength.
Avatar billede arne_v Ekspert
13. maj 2010 - 20:22 #5
Med hensyn til kode stil saa:
* bruger man traditionelt altid smaa bogstaver i pakke navne
* er jeg ikke vild med et navn som sidelength - enten pagelength eller sidelaengde
Avatar billede machholdt Nybegynder
13. maj 2010 - 20:28 #6
Ok. Tak for gode råd.

Rart, da jeg ikke rigtig har nogen til at kigge mig over skulderen da det er selvstudium.
Avatar billede arne_v Ekspert
13. maj 2010 - 20:35 #7
Hvis du interesserer dig lidt for kode stil, saa har SUN faktisk lavet en lille guide:
  http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Nu er det vigtigere at du faar laert at lave programmer der virker end at du foelger den stil slavisk.

Men hvis du nogen gange sidder og undrer det lidt over hvordan man egentligt boer skrive sin kode, saa er det an autoritativ kilde.
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