Solved

Java, display a solid box

Posted on 2008-10-08
4
262 Views
Last Modified: 2013-11-23
I am trying to learn JAVA code. I been working on a problem that i cant get to work. could some one please help me out. I dont know why I keep getting an error on line 27. code is attached for review.

import javax.swing.JOptionPane; // import class JOptionPane

public class Asterisks
{
   public static void main( String args[] )

   {
         // prompt user to enter size of box
         String size =
            JOptionPane.showInputDialog( "Enter the size of box 1 - 12." );
           
         int iSize = Integer.parseInt(size);
   
           
    for (int i = 0; i < iSize; i++) {
    if (i==0 || i==iSize-1)
       printFullLine();
    else
       printTwoStarsLine();
      }

// with the two methods being
{

private void printFullLine()
}
      {
    for (int i = 0; i < iSize; i++)
       System.out.print("*");
    System.out.println("");
      }
}
private void printTwoStarsLine()
{
            {
    for (int i = 0; i < iSize; i++)
       System.out.print( (i==0 || i==iSize-1) ? "*" : " ");
    System.out.println("");
      }

                 
      } // end main

} // end
0
Comment
Question by:Wormnm
  • 2
4 Comments
 
LVL 59

Expert Comment

by:Kevin Cross
Comment Utility
Firstly, take a look at the syntax of your method declaration.

They should be of form:

modifier returntype methodname(params) {
    // some code
}

Instead of that you have som extra } in code...

Think that should clear up a bit if fixed.

Since you indicated you are learning, you can take a look here for more syntax assistance: http://java.sun.com/docs/books/tutorial/
private void printFullLine() 

}

      {

    for (int i = 0; i < iSize; i++)

       System.out.print("*");

    System.out.println("");

      }

}

Open in new window

0
 
LVL 59

Accepted Solution

by:
Kevin Cross earned 125 total points
Comment Utility
Stepping through the rest of the code, here are my observations:
+You main method should end before declaration of other methods, they should not be nested in the main method.
+For sharing of the variables which is what it appears you wanted to do by nesting, you either need to declare as global or pass through parameters.  Since you are calling from a loop, I would probably go with a parameter here -- but each programmer has their own style.
+Static methods cannot access non-static members of same class unless an instance of that class is instantiated.  Other fix is make non-static members, static.
+(IMHO) while learning and even after, I would stick with using { and }.  Get in the habit of coding those in even before you know the logic that goes between.  Put those on page and a // TODO: with some information on what task you are trying to accomplish.

Use of stylish shortcuts like the inline if statement you have in printTwoStarsLine is great, but (again me personally) will tend to write:

if (i == 0) doSomething();

As:

if (i == 0) { doSomething(); }

Still get the nice one liner, but clear what I am doing if text wraps, etc.

Hope all that helps and is clear.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
noX challenge 17 75
strCount chalenge 3 50
create a gui in perl 3 42
Java - Why doesn't this JFrame work 3 14
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now