11-14-2004, 02:17 PM | #1 (permalink) |
Junkie
Location: Montreal
|
Total beginner Java questions...
I've just started learning Java this week. Feel free to laugh, I can take it.
So, I'm doing this 9x multiplication table, as an exercise: class table9x9 { public static void main(String args[])} Questions... 1) Is this the most elegant way to achieve the results? E.g. I'm not sure about initializing y as 2 (although it does the job)... 2) Is it better to initialize x & y outside of the for loops? Or is that irrelevant? 3) When I run this, the single digit "answers", top-left of the table, do not align evenly. I cannot for the life of me understand why not! 4) My dos shell "copy" button: how do I enable that? Y'know, so I can show the result. Any help would be appreciated. I've gotta lot of learning to do. Thanks! |
11-14-2004, 05:37 PM | #2 (permalink) |
Insane
Location: Wales, UK, Europe, Earth, Milky Way, Universe
|
Your solution looks pretty good. I'll help you along with a few pointers. Please note i may not include some criticisms regarding object oriented design etc. because its probably not important to you right now.
Firstly, here's how i would've done it (its rather like yours) Code:
public class Table9x9 { // Good practice: begin class names with a capital letter public static void main(String args[]) { for(int x = 1; x <= 9; x++) { System.out.print(x + "\t"); for(int y = 2; y <= 9; y++) { System.out.print(x * y + "\t"); } System.out.println(); } } } To answer your questions: 1. Almost elegant enough for me. Check your indentations for logical structure. Whether you initialise x with 1 or 2 is entirely up to you and your project spec. 2. For loops were designed to allow you to initialise variables in the opening statement. This is generally the best way to use a for loop (as you have in your code) 3. This works fine for me, although the single digits do align above the "10's" colum of the next line, but thats irrelevant in this case i think. Maybe it's the font that your command line uses or the width of your window. 4. In my command window, you can right-click and select "mark" which lets you then hilight the text you want to copy. After you hilight, right-click again and it should copy to the clipboard so you can paste into your text editor. If you're just starting out in java, make sure you get into the habit of commenting your code. Even if it's a small program like this, its best to do it anyway just to get the habit. My code lacked commenting for brevity. Again, i also didnt want to confuse things by mentioning strict object oriented methods. These things you'll learn as you get on Cue the other programmers with their own personal preferences...
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte |
11-15-2004, 01:38 PM | #3 (permalink) |
Crazy
|
Initializing the variables in the for statement gives the variables a bit different scope. If you define the variable in the for statement, the variable will only be accessible in the loop.
You normally don't need your loop counter value to be used outside the loop (there might be the odd case where this might make sense). In most cases, yes, it will be better to keep variable initialization in the for statement. It will keep your code nice and readable. |
Tags |
beginner, java, questions, total |
|
|