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();
}
}
}
You've probably noticed that i use different "{" placement to you. This is a matter of personal preference.
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...