Java, display a solid box

Posted on 2008-10-08
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)

// with the two methods being

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

      } // end main

} // end
Question by:Wormnm
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
LVL 60

Expert Comment

by:Kevin Cross
ID: 22674687
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:
private void printFullLine() 
    for (int i = 0; i < iSize; i++)

Open in new window

LVL 60

Accepted Solution

Kevin Cross earned 125 total points
ID: 22674736
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();


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.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This video teaches viewers about errors in exception handling.

696 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