You want to have your classes inside a package so that you they live inside their own namespace. consider a company that develops a java-library with a class called Vector (let's call the company "Sun"). Then company b makes a mathematical library with a class called Vector.
Company A's Vector class is a kind of array, whereas company b's Vector class is representation of a mathematical vector. Now, if both companies releases their libraries without putting the classes in packages you could not use the libraries together since there would be two classes with the same name, and the compiler would be very mad at you. It wouldn't know which one to use.
In C++, Objective-C and other less elegant, object-oriented languages, the problem is solved by a convention that all library-class-names are prefixed by two or three letters that signify the library. For an example, all classes in Cocoa are prefixed NS (for NeXTSTEP, which is the company that wrote the thing from the start). The Java way is so much more elegant: separate classes in packages and have each package define it's own namespace, then classes do not need to be called "NSString" but simply "String".
You could see a package as a library. If we work for company "ABC" then all our classes are probably in the library called abc or com.abc and the classes are placed in a directory called abc or com/abc. Then, if we work on a library that deals with math, we would presumably call it "math" and place it inside the library/package called abc or com.abc, like this: abc.math. Then we decide to put our utility classes in a package called "util" and we have: abc.math.util. The files will be placed in a directory structure looking like this: abc/math/util. Define a class called Vector and place the file inside the correct package and we have (after we compile):
abc/math/util/Vector.java and abc/math/util/Vector.class. Nice and clean.
The math-package has a main-class (called so because it contains the main-method that is the entry point of the program) called "Main", placed in the abc.math package, then we run the program like so: "java abc.math.Main". Now Java will look for a file named Main.class in a directory called "math" in a directory called "abc" in the current directory. If it does not find one, it will return the error message in your first post. If you try to run "java Users.kris.Java.MyProgram", java will look for a file called MyProgram.class in Users/kris/Java (notice that the path is relative from the current directory) that is defined in the package Users.kris.Java. It will not find one.
I have probably just made it worse with this answer... I suggest some reading, try some of the Java tutorials at
http://java.sun.com, or elsewhere on the web. Usually the package-thing just makes sense after some time, it is one of the more unique features of Java and is not always so much talked about (I have studied Java at university level, and the teachers never mentioned packages...). It is, however, considered bad manners not to use packages in Java.