Re: The greeting code in Java
On Jun 19, 8:36 pm, rossum <rossu...@coldmail.com> wrote:
On Sun, 19 Jun 2011 06:05:53 -0700 (PDT), Saeed Amrollahi
<amrollahi.sa...@gmail.com> wrote:
Dear all
Hi
I'm a C++ programmer and I started to learn Java. After famous "Hello
World"
program, the obvious code is "Say hello to specific people". Program
asked
user's name, then print a greeting message. The C++ code is:
#include <iostream>
#include <string>
Using std::cin; using std::cout; using std::strin=
g;
int main()
{
// ask for the person's name
std::cout << "Please enter your first name: ";
std::string name; // define name
std::cin >> name; // read into name
// write a greeting
std::cout << "Hello, " << name << "!" << std::endl;
return 0;
}
I tried to write the simplest code in Java and I ended up with the
following:
package Greeting;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
System.out.print("Please enter your first name: ");
String name = new String();
Reader r = new InputStreamReader(System.in);
for (char ch; (ch = (char)(r.read())) != '\n'; name =
+= ch) {}
System.out.println("Hello, " + name);
}
}
What are the problems of my code and how can I write
a better one. Please throw some light.
TIA,
-- Saeed Amrollahi
Stream readers are more often used for binary input. For text input
people tend to use the java.util.Scanner class.
public static void main(String[] args) {
System.out.print("Please enter your first name: ");
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
System.out.println("Hello, " + name);
}
rossum
What is the Scanner? Why we use nextLine? What's the relation of
such concepts with a simple greeting program.
Why the code for writing "Hello, world" is in chapter 1, page 1
of The Java Programming Language, but the code of greeting may be in
Chapter 20!
-- Saeed
for