Help with a server program

Hello,
I don't know much about threading, but I've got this server program (code follows). And where it does this... :
                    // Create a new thread for the connection
                    HandleAClient thread = new HandleAClient(connectToClient);
                    cn = clientNo;
                    // Start the new thread
                    thread.start();I need it to create another instance of the client program that accessing it with the same thread(I think, as i said I don't know much about threads). That way when a remote user accesses the client program, the server will automatically open another client program on the machine the server is running on. Then while their both using the same thread, they'll be able to speak back and forth without anyone else getting their text.
Does this make sense? Can anyone help?
Here is the server code, I don't have it perfected yet to send the text, but the clients will regester with the server.
// MultiThreadServer.java: The server can communicate with
// multiple clients concurrently using the multiple threads
import java.io.*;
import java.net.*;
import java.util.*;
// MultiThreadServer should be able to
//    handle text from multiple users at once
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MultiThreadServer extends JFrame {
     // Text area for displaying contents
     private JTextArea jta = new JTextArea();
     public static void main(String[] args) {
          new MultiThreadServer();
     public int cn = 0;
     public MultiThreadServer() {
          // Place text area on the frame
          getContentPane().setLayout(new BorderLayout());
          getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);
          setTitle("MultiThreadServer");
          setSize(500, 300);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setVisible(true); // It is necessary to show the frame here!
          try {
               // Create a server socket
               ServerSocket serverSocket = new ServerSocket(8000);
               jta.append("MultiThreadServer started at " + new Date() + '\n');
               // Number a client
               int clientNo = 1;
               while (true) {
                    // Listen for a new connection request
                    Socket connectToClient = serverSocket.accept();
                    // Display the client number
                    jta.append("Starting thread for client " + clientNo +
                         " at " + new Date() + '\n');
                    // Find the client's host name, and IP address
                    InetAddress clientInetAddress =
                         connectToClient.getInetAddress();
                    jta.append("Client " + clientNo + "'s host name is "
                         + clientInetAddress.getHostName() + "\n");
                    jta.append("Client " + clientNo + "'s IP Address is "
                         + clientInetAddress.getHostAddress() + "\n");
                    // Create a new thread for the connection
                    HandleAClient thread = new HandleAClient(connectToClient);
                    cn = clientNo;
                    // Start the new thread
                    thread.start();
                    // Increment clientNo
                    clientNo++;
          catch(IOException ex) {
               System.err.println(ex);
     // Inner class
     // Define the thread class for handling new connection
     class HandleAClient extends Thread {
          private Socket connectToClient; // A connected socket
          // Construct a thread
          public HandleAClient(Socket socket) {
               connectToClient = socket;
          // Run a thread
          public void run() {
               try {
                    // Create data input and output streams
                    DataInputStream isFromClient = new DataInputStream(
                         connectToClient.getInputStream());
                    DataOutputStream osToClient = new DataOutputStream(
                         connectToClient.getOutputStream());
                    osToClient.writeDouble(cn);
                    // Continuously serve the client
                    while (true) {
                         // Receive radius from the client
                         double radius = isFromClient.readDouble();
                         // Compute area
                         double area = radius*radius*Math.PI;
                         // Send area back to the client
                         osToClient.writeDouble(area);
                         jta.append("radius received from client: " +
                              radius + '\n');
                         jta.append("Area found: " + area + '\n');
               catch(IOException e) {
                    System.err.println(e);
}And here is the Client Program code, note that the sending of text does not yet work here either.
// Client.java: The client sends the input to the server and receives
//           result back from the server
import java.io.*;
import java.net.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class Client extends JFrame implements ActionListener {
     // Text field for receiving radius
     private JTextField jtf = new JTextField(40);
     // Text area to display contents
     private JTextArea jta = new JTextArea();
     // IO streams
     DataOutputStream osToServer;
     DataInputStream isFromServer;
     public static void main(String[] args) {
          new Client();
     public Client() {
          // Ask the user for a name
          String s = JOptionPane.showInputDialog
               (null, "Please Enter Your Name:", "ZedX Web Messenger", JOptionPane.QUESTION_MESSAGE);
          // Panel p to hold the label and text field
          JPanel p = new JPanel();
          p.setLayout(new BorderLayout());
          p.add(new JLabel("Enter Text"), BorderLayout.WEST);
          p.add(jtf, BorderLayout.CENTER);
          p.add(new JButton("Go"), BorderLayout.EAST);
          jtf.setHorizontalAlignment(JTextField.LEFT);
//          jta.editable(false);
          getContentPane().setLayout(new BorderLayout());
          getContentPane().add(p, BorderLayout.NORTH);
          getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);
          jtf.addActionListener(this); // Register listener
          String user = "Client";
          setTitle(user);
          setSize(500,500);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setVisible(true); // It is necessary to show the frame here!
          try {
               // Create a socket to connect to the server
               Socket connectToServer = new Socket("10.0.5.39", 8000);
               // Create an input stream to receive data from the server
               isFromServer = new DataInputStream(
                    connectToServer.getInputStream());
               // Create an output stream to send data to the server
               osToServer = new DataOutputStream(connectToServer.getOutputStream());
               // Send client Name to server
               // Get client number and name from server
               double cn = isFromServer.readDouble();
               user = user + " " + cn + ":  " + s;
               setTitle(user);
          catch (IOException ex) {
               jta.append(ex.toString() + '\n' + "Administrator must be offline, try again later.");
     public void actionPerformed(ActionEvent e) {
          String actionCommand = e.getActionCommand();
          if (e.getSource() instanceof JTextField) {
               try {
                    // Get the text from the text field
                    String radius = jtf.getText();
                    // Send the text to the server
                    osToServer.println(radius);
                    osToServer.flush();
                    // Get text from the server
                    double area = isFromServer.readDouble();
                    // Display to the text area
                    jta.append("You Sent: " + radius + "\n");
                    jta.append("Server" + area + '\n');
               catch (IOException ex) {
                    System.err.println(ex);
}

bump

Similar Messages

  • Help with client server program!

    OK, I've gotten this far on my own, but now I need a little help. My program is supposed to allow a client to type in a file name in a JTextField and have the server return the file contents. Someone please let me know where I have erred. Below is the code for server.java and client.java. Thanks for your help!
    import java.io.*;
    import java.net.*;
    public class Server
    private BufferedWriter output;
    private BufferedReader input;
    private Socket connection;
    String str;
    public void runServer ( )
    int counter = 0;
    try
    ServerSocket server = new ServerSocket ( 8189 );
    while ( counter < 2 )
    connection = server.accept ( );
    getStreams ( );
    processConnection ( );
    closeConnection ( );
    counter++;
    catch ( IOException ioException )
    ioException.printStackTrace ( );
    private void getStreams ( ) throws IOException
    output = new BufferedWriter ( new OutputStreamWriter ( connection.getOutputStream ( ) ) );
    output.flush ( );
    input = new BufferedReader ( new InputStreamReader ( connection.getInputStream ( ) ) );
    private void processConnection ( ) throws IOException
    String fileName = input.readLine ( );
    File file = new File ( fileName );
    BufferedReader fileInput = new BufferedReader ( new InputStreamReader
    ( new FileInputStream ( file ) ) );
    BufferedWriter writer = new BufferedWriter ( new FileWriter ( file ) );
    while ( ( str = fileInput.readLine ( ) ) != null )
    output.write ( str );
    output.newLine ( );
    output.flush ( );
    writer.close ( );
    private void closeConnection ( ) throws IOException
    output.close ( );
    input.close ( );
    connection.close ( );
    public static void main ( String [ ] args )
    Server application = new Server ( );
    application.runServer ( );
    import java.io.*;
    import java.net.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Client extends JFrame
    private JTextField enterField;
    private JButton saveButton;
    private JTextArea displayArea;
    private BufferedWriter output;
    private BufferedReader input;
    private String message = "";
    private Socket connection;
    public Client ( )
    super ( "Client" );
    Container container = getContentPane ( );
    JPanel panel = new JPanel ( );
    JLabel displayLabel = new JLabel ( "Enter file name to retrieve: " );
    panel.add ( displayLabel );
    enterField = new JTextField ( 10 );
    enterField.setEnabled ( false );
    enterField.addActionListener (
    new ActionListener ( )
    public void actionPerformed ( ActionEvent event )
    sendFile ( event.getActionCommand ( ) );
    panel.add ( enterField );
    saveButton = new JButton ( "Save Changes" );
    saveButton.addActionListener (
    new ActionListener ( )
    public void actionPerformed ( ActionEvent event )
    sendFile ( event.getActionCommand ( ) );
    panel.add ( saveButton );
    container.add ( panel, BorderLayout.NORTH );
    displayArea = new JTextArea ( );
    container.add ( new JScrollPane ( displayArea ), BorderLayout.CENTER );
    setSize ( 500, 400 );
    setVisible ( true );
    public void runClient ( )
    try
    connection = new Socket ( InetAddress.getLocalHost ( ), 8189 );
    getStreams ( );
    processConnection ( );
    closeConnection ( );
    catch ( EOFException eofException )
    System.out.println ( "Server terminated connection" );
    catch ( IOException ioException )
    ioException.printStackTrace ( );
    private void getStreams ( ) throws IOException
    output = new BufferedWriter ( new OutputStreamWriter ( connection.getOutputStream ( ) ) );
    output.flush ( );
    input = new BufferedReader ( new InputStreamReader ( connection.getInputStream ( ) ) );
    private void processConnection ( ) throws IOException
    enterField.setEnabled ( true );
    message = ( String ) input.readLine ( );
    while ( message != null )
    displayArea.append ( message + "\n" );
    private void closeConnection ( ) throws IOException
    output.close ( );
    input.close ( );
    connection.close ( );
    private void sendFile ( String message )
    try
    output.write ( message );
    output.flush ( );
    catch ( IOException ioException )
    displayArea.append ( "\nError writing" );
    public static void main ( String [ ] args )
    Client application = new Client ( );
    application.setDefaultCloseOperation ( JFrame.EXIT_ON_CLOSE );
    application.runClient ( );

    Well, where do YOU think you erred?
    Are you getting any error messages? If so, what are they?
    Are you getting any behavior other than what you expected? If so, what behavior did you expect, and what behavior are you getting instead?
    I can't speak for the others, but I'm much more inclined to help if you had at least said something like...
    "If I type in the name of a file that doesn't exist, a JPanel pops up with nothing written in it. This is behavior I want. If I type in the name of a file that does exist, a JPanel should pop up with the contents of that file, but unfortunately, it thinks there's nothing in the file. I know my program can at least find the file because I added a routine to write the name of the file within the JPanel if it can find the file."
    It is much easier for me to just write my own program to display the contents of a file, than it is for me to read your mind and discover what problems YOU are having with it.

  • I need help with Mavericks Server: an error occurred while configuring your server.  I

    I need help with Mavricks Server, I get the following: an error occurred while configuring your server.  I have deleted the Server.app several times along with the associated com.apple and Server folder.  Any more help would be appreciated.

    There are usually some log files around, related to the installation.  See if Console.app (Applications > Utilities) shows anything relevant to the error, when you've done a fresh install of Server.app and tried the configuration.

  • Help with RFC sender, Program And RFC Destination

    Hi!!
    my scenary is asynchronous
         RFC Sender -> SAP-XI -> Oracle reciever
    I have a problem with abap, especially rfc, program and rfc destination. The connection with SAP-XI exist and SAP-XI  receive the message but the message is empty.
    1. In my program on the line
              CALL FUNCTION 'ZBAPI_SD_PED_ORD_SERVIC' DESTINATION 'ZXI_ENVIAR_PED_ORD_SERVIC'
              catch an error system_failure = 2 and it dont execute the rfc ZBAPI_SD_PED_ORD_SERVIC
    2. I rewrite my program, that line to
              CALL FUNCTION 'ZBAPI_SD_PED_ORD_SERVIC' STARTING NEW TASK 'NEW' DESTINATION 'ZXI_ENVIAR_PED_ORD_SERVIC'
              catch an error communication_failure = 1 but the rfc ZBAPI_SD_PED_ORD_SERVIC is executed but no send to SAP-XI
    3. I rewrite my program, that line to
              CALL FUNCTION 'ZBAPI_SD_PED_ORD_SERVIC' IN BACKGROUND TASK DESTINATION 'ZXI_ENVIAR_PED_ORD_SERVIC'
              No error but it dont execute the rfc ZBAPI_SD_PED_ORD_SERVIC and the message in SAP-XI is empty, display the tables but not the row. i check the table PED_ORDEN and RETURN but the controls fields dont are afected.
    What is my Error?
    Where am i making a mistake?
    RFC
    FUNCTION zbapi_sd_ped_ord_servic.
    *"Interfase local
    *"  TABLES
    *"      PED_ORDEN STRUCTURE  ZSD_RFC_T04
    *"      RETURN STRUCTURE  ZSD_RFC_R06
      TABLES: zsd_ped_orden, zsd_rfc_r01.
      DATA: tb_ped_orden LIKE zsd_ped_orden  OCCURS 0 WITH HEADER LINE,
                     tb_rfc_orden_error LIKE zsd_rfc_r01 OCCURS 0 WITH HEADER LINE.
    *Get Pedido by Ordenes
      SELECT  *  INTO CORRESPONDING FIELDS OF TABLE tb_ped_orden
              FROM zsd_ped_orden
              WHERE estatus  EQ  space.
      LOOP AT tb_ped_orden.
        MOVE-CORRESPONDING tb_ped_orden TO ped_orden.
        APPEND ped_orden.
        tb_ped_orden-estatus = 'X'.
        tb_ped_orden-fecha_actualiz = sy-datum.
        tb_ped_orden-hora_actualiz = sy-uzeit.
        MODIFY tb_ped_orden.
      ENDLOOP. 
      MODIFY  zsd_ped_orden FROM TABLE tb_ped_orden.
      COMMIT WORK.
    *Errors in Ordenes
      SELECT  *  INTO CORRESPONDING FIELDS OF TABLE tb_rfc_orden_error
              FROM zsd_rfc_r01
              WHERE estatus  EQ  space.
      LOOP AT tb_rfc_orden_error.
        MOVE-CORRESPONDING tb_rfc_orden_error TO return.
        APPEND  return.
        tb_rfc_orden_error-estatus = 'X'.
        tb_rfc_orden_error-fecha_actualiz = sy-datum.
        tb_rfc_orden_error-hora_actualiz = sy-uzeit.
        MODIFY tb_rfc_orden_error.
      ENDLOOP.
      MODIFY  zsd_rfc_r01 FROM TABLE tb_rfc_orden_error.
      COMMIT WORK.
    ENDFUNCTION.
    PROGRAM
    REPORT  ZBAPI_SD_PED_ORD_SERVIC.
    DATA: ped_orden LIKE ZSD_RFC_T04 OCCURS 0 WITH HEADER LINE,
          return LIKE ZSD_RFC_R06 OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'ZBAPI_SD_PED_ORD_SERVIC' DESTINATION 'ZXI_ENVIAR_PED_ORD_SERVIC'
         TABLES
              ped_orden             = ped_orden
              return                = return
      EXCEPTIONS
        communication_failure = 1
        system_failure        = 2
        OTHERS                = 3.
    IF sy-subrc <> 0.
      MESSAGE 'error' type 'I'.
    ENDIF.
    COMMIT WORK.
    RFC DESTINATION
    RFC Destination: ZXI_ENVIAR_PED_ORD_SERVIC
    Connection TYpe: TCP/IP Connection
    Register Server Program: ZBAPI_SD_PED_ORD_SERVIC
    Gateway host: host00
    Gateway service: sapgw00

    hi
    For rfc sender adapter we hv to do some settings .Please chk whether this settings are well configured or not.
    a) RFC destination
    b) RFC channel in the XI directory
    This weblog is a response to a few question about the basic configuration of the RFC sender adapter
    that were posted on the XI forum (and also on my e-mail)
    So here we go, basically we have to configure 2 things:
    a) RFC destination
    b) RFC channel in the XI directory
    RFC destination:
    1. To create the RFC go to TCODE: SM59
    2. Create new destination of type T (TCP/IP)
    3. Make sure you select Registered Server Program option before writing your program ID
    4. Write you program ID (remember it's case-sensitive)
    5. In the gateway host and gateway service write the values of your "Application system" - business system (not the XI server)
    7. No configuration in the J2EE administrator nessecary
    Now we can proceed to RFC channel configuration:
    1. Enter your Application Server
    2. Your Application Server Service
    3. Enter your Program ID from the RFC destination
    And we're done:)
    Now you can test the RFC destination in SM59 to see if it works.
    Please chk this following link.
    1. RFC Processing with the RFC Adapter
    http://help.sap.com/saphelp_nw04/helpdata/en/25/76cd3bae738826e10000000a11402f/content.htm
    2. Configuring the Sender RFC Adapter -
    http://help.sap.com/saphelp_nw04/helpdata/en/67/6d0540ba5ee569e10000000a155106/content.htm
    3.  /people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
    regards
    Manas

  • Help with Client/Server communication

    Im working on a project for university, and one aspect of it is downloading files from a remote computer.
    The majority of my project so far has been using RMI only, for browsing the remote computer, deleting files, renaming files, creating new directories and searching for files. All of this is done via a GUI client, with a server running on the server machine.
    Ive now reached the part where I'll need to implement the downloading of files. I want the user to select a file from within the GUI and click download, and get it off the server.
    I dont need any help with event handlers or getting the contents of the remote computer or anything of that sort.
    Consider when I have the name of the file that I want to download from the client.
    Im having trouble understanding how exactly its going to work. Ive seen examples of file transfer programs where the user types in the name of the file in the command line which they want to download. But my implementation will differ.
    Every time the user clicks the button, I have to send to the server the name of a different file which will need to be downloaded.
    I imagine in the event handler for the Download button I'll be creating a new socket and Streams for the download of the file that the user wants. But how am I to send to the client a dynamic file name each time when the user tries to download a different file?
    I am a bit new at this, and Ive been searching on the forums for examples and Ive run through them, but I think my situation is a bit different.
    Also, will RMI play any part in this? Or will it purely be just Socket and Streams?
    I'll also develop an Upload button, but I imagine once I get the Download one going, the Upload one should be much harder.
    Any ideas and help would be appreciated.

    Hi
    I'm no RMI expert... and I did not understand your question very well....
    I think you should do this procedure:
    you should send a request for the file from the client to the server . then a new connection between the two machines should be made which will be used to send the file.
    by using UDP you will achive it quite nicely...
    //socket - is your TCP socket  you already use on the client...
    //out - socket's output stream
    byte [] b=new String("File HelloWorld.java").getBytes();
    // you should use a different way for using this rather than using strings...
    out.write(b);
    DatagramSocket DS=new DatagramSocket(port);
    DS.recieve(packet); //the data is written into the packet...on the server side you should...
    //socket - is your TCP socket  you already use on the server...
    //in - socket's input stream
    byte [] b=new byte[256];
    out.read(b);
    /*Here you check what file you need to send to the client*/
    DatagramSocket DS=new DatagramSocket(server_port);
    byte [] data=//you should read the file and translate it into bytes and build a packet with them
    DS.send(packet); //the data is in the packet...This way the server sends the required file to the client .....
    I hope it will help, otherwise try being clearier so I could help you...
    SIJP

  • Help with client server chat2

    Hi aggain,
    And here is my Client part of program
    Server part is in topic "help with client server1
    CLIENT.JAVA
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    import javax.swing.*;
    public class Client {
    private static int SBAP_PORT = 5555;
    private static String server = "localhost";
    public static Socket socket = null;
    //main starts
    public static void main(String[] args) {
    try { //handle broken connection
    //set up connection to server, input, output streams
    try {
    socket = new Socket(server, SBAP_PORT);
    // handle wrong host/port errors
    catch (UnknownHostException e) {
    System.out.println("Unknown IP address for server.");
    System.exit(0);
    } //end catch UnknownHost
    catch (IOException ex) {
    System.out.println("No server found at specified port.");
    System.exit(0);
    } //end catch IOException
    catch (Exception exc) {
    System.out.println("Error :" + exc);
    System.exit(0);
    } //end cath Exception exc
    InputStream input = socket.getInputStream();
    OutputStream output = socket.getOutputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(input));
    PrintWriter writer = new PrintWriter(output);
    while (true) {
    String client_in = JOptionPane.showInputDialog(null, "Client Request");
    System.out.println("Sending: " + client_in);
    writer.print(client_in);
    writer.flush();
    //read server entry and dispay
    String response = reader.readLine();
    if (response == null || response.equals("QUIT"))
    System.out.println("No data received");
    else
    System.out.println("Receiving: " + response);
    } //end try
    catch (IOException e) {
    System.out.println("Connection with server broken:" + e);
    System.exit(0);
    } //end catch IOException
    catch (Exception exp) {
    System.out.println("Error :" + exp);
    System.exit(0);
    } //end catch exp
    }//end main()
    }//end class Client

    http://forum.java.sun.com/thread.jspa?threadID=574466&messageID=2861516#2861516

  • Help with OSX server mail setup

    Please if anyone can tell me what I am doing wrong, I would be very grateful.  I have a company with an externaly hosted website and an an internally hosted email (OSX server).  I have everything kind of working, but some things don't seem quite right.  I'll explain below:
    I have a purchased domain: mycompany.com hosted by godaddy.
    I am using Godaddy name servers: ns65.domaincontrol.com and ns66.domaincontrol.com
    The external godaddy DNS has an a name entry for my mail server: mail pointing to 123.123.123.123 (which is my companies external static IP address).
    There is also a null (@) a name record for my website hosting service (squarespace) pointing to 456.456.456.456
    There is a cName record www pointing to the squarespace domain "www.squarespace6.com"  (know this is unusual, but it is how squarespace asks this to be set up and does not work otherwise)
    There is an MX record with priority 10 and host name @ pointing to mail.mycompany.com
    I have a airport extreme router with the appropriate ports forwarded to the OSX server.
    The DNS servers on the router are pointed to the internal IP address of the OSX server
    I did not change the domain name on the router (mistake?) it is currently san.rr.com
    On the OSX server I have set up host name to be mycompany.comDNS is set up with primary zone being mycompany.com
    Primary Zone entries include
    nameserver = mycompany.com
    machine record host name is mycompany.com and the IP address is the internal IP address of the OSX server
    another machine record with host name "mail" and IP address is the internal IP address of the OSX server.
    Finally, there is a mail exchanger record with mail server "mail.mycompany.com" and priority 10
    There are 2 entries autocreated in the Reverse zone
    Mail is setup and running on the OSX server providing mail for "mail.mycompany.com"
    Users are setup with email address: [email protected] (note: without the mail subdomain - I think this is OK?)
    I am using self signed certificate.
    In my clients (windows Thunderbird, Mac Mail, iOS mail), the settings are for the incoming mail server host name to be "mail.mycompany.com" and the outgoing also to be "mail.mycompany.com"
    I woud have expected this to be imap.mycompany.com and smtp.mycompany.com respectively, but it doesn't work when I input these values and works with the former.  Have I set this up wrong??  imap seems to require SSL on port 993 and SMTP seems to require TLS on port 587.Outlook on PC gives me an error that after googling appears to be a problem with not recognizing a fuly qualified hostname form the SMTP client.  I see the fix, but wanted to know if that meant that my server didn't have a fully qualified host name and whether I should change that rather than just remove that restriction???
    The final problem is that my outgoing emails seem to be getting caught up in other people's spam filters too frequently.  What is the main reason for this?  Is it because I have set something up wrong and it brings up flags or is it simply because I am not a huge hosting company, or somethign else althogether?
    If you've gotten this far, big thanks!  If you can help me, even more thanks!

    Well, actually they are both getting caught up in spam filters and bounced back.  I actually realized that part of the problem is that I have a dynamic IP address, but it doesn't change.  Regardless, on the bounce back it looks like hotmail and other domains are rejecting email from my IP and recognize it as dynamic.  This was a test server that i would by physically taking to my business where there is a static business IP address (Cox).
    Sorry for the very long original message, but it seems that most people don't post enough information for the problem to be solved in their original posts and I was hoping to provide as much detail as possible.
    The other is the question of "are things set up right?"  It seems strange to me that both my outgoing and incoming servers are "mail.mycompany.com" and not imap.mycompany.com and smtp.mycompany.com and I wonder if this is going to cause me to have problems?
    Is it a problem that my email addresses are [email protected] and not [email protected]?
    Was I supposed to change the domain name on the router?
    Also is it going to be a problem that I am using a self signed certificate?

  • Need help with my addressbook program

    hi,
    i need help with my program here. this one should works as:
    - saves user input into a txt file
    - displays name of the saved person on the jlist whenever i run the program
    - displays info about the person when clicked via textboxes given by reading the txt file where the user inputs are
    - should scroll when the list exceeds the listbox
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.JList;
    import java.awt.event.ActionListener;
    import java.io.*;
    import javax.swing.event.*;
    import java.io.FilterInputStream;
    public class AddressList extends JPanel implements ActionListener
         JTextField txt1 = new JTextField();
         JTextField txt2 = new JTextField();
         JTextField txt3 = new JTextField();
         DefaultListModel mdl = new DefaultListModel();
         JList list = new JList();
         JScrollPane listScroller = new JScrollPane(list);
         ListSelectionModel listSelectionModel;
         File fob = new File("Address3.txt");
         String name;
         char[] chars;     
         public void ListDisplay()
              try
                   RandomAccessFile rand = new RandomAccessFile(fob,"rw");
                   BufferedReader br = new BufferedReader(new FileReader("Address3.txt"));
                   if(fob.exists())
                         while((name = rand.readLine()) != null)
                              chars = name.toCharArray();
                              if(chars[0] == '*')
                                   mdl.addElement(name);
                                   list.setModel(mdl);
                              if(chars[0] == '#')
                                   continue;
                    else
                        System.out.println("No such file..");
              catch(IOException a)
                         System.out.println(a.getMessage());
         public AddressList()
              this.setLayout(null);
              listSelectionModel = list.getSelectionModel();
            listSelectionModel.addListSelectionListener(new ListInfo());
              list.setBounds(10,40,330,270);
              listScroller.setBounds(320,40,20,100);
              add(list);
              add(listScroller);
              JLabel lbl4 = new JLabel("Name: ");
              lbl4.setBounds(400,10,80,30);
              add(lbl4);
              JLabel lbl5 = new JLabel("Cellphone #: ");
              lbl5.setBounds(400,50,80,30);
              add(lbl5);
              JLabel lbl6 = new JLabel("Address: ");
              lbl6.setBounds(400,90,80,30);
              add(lbl6);
              JLabel lbl7 = new JLabel("List ");
              lbl7.setBounds(10,10,100,30);
              add(lbl7);
              txt1.setBounds(480,10,200,30);
              add(txt1);
              txt2.setBounds(480,50,200,30);
              add(txt2);
              txt3.setBounds(480,90,200,30);
              add(txt3);
              JButton btn1 = new JButton("Add");
              btn1.setBounds(480,130,100,30);
              btn1.addActionListener(this);
              btn1.setActionCommand("Add");
              add(btn1);
              JButton btn2 = new JButton("Save");
              btn2.setBounds(480,170,100,30);
              btn2.addActionListener(this);
              btn2.setActionCommand("Save");
              add(btn2);
              JButton btn3 = new JButton("Cancel");
              btn3.setBounds(480,210,100,30);
              btn3.addActionListener(this);
              btn3.setActionCommand("Cancel");
              add(btn3);
              JButton btn4 = new JButton("Close");
              btn4.setBounds(480,250,100,30);
              btn4.addActionListener(this);
              btn4.setActionCommand("Close");
              add(btn4);
         public static void main(String[]args)
              JFrame frm = new JFrame("Address List");
              AddressList panel = new AddressList();
              frm.getContentPane().add(panel,"Center");
              frm.setSize(700,350);
              frm.setVisible(true);
              panel.ListDisplay();
         public void actionPerformed(ActionEvent e)
              String cmd;
              cmd = e.getActionCommand();
              if(cmd.equals("Add"))
                   txt1.setText("");
                   txt2.setText("");
                   txt3.setText("");
              else if(cmd.equals("Save"))
                   mdl.addElement(txt1.getText());
                   list.setModel(mdl);
                   try
                   RandomAccessFile rand = new RandomAccessFile(fob,"rw");
                   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                   LineNumberReader line = new LineNumberReader(br);
                    if(fob.exists())
                              rand.seek(fob.length());
                              rand.writeBytes("* " + txt1.getText());
                              rand.writeBytes("\r\n" + "# " + txt2.getText());
                              rand.writeBytes("\r\n" + "# " + txt3.getText() + "\r\n");
                    else
                         System.out.println("No such file..");
                        txt1.setText("");
                        txt2.setText("");
                        txt3.setText("");
                    catch(IOException a)
                         System.out.println(a.getMessage());
              else if(cmd.equals("Cancel"))
                   txt1.setText("");
                   txt2.setText("");
                   txt3.setText("");
              else if(cmd.equals("Close"))
                   System.exit(0);
    class ListInfo implements ListSelectionListener
         public void valueChanged(ListSelectionEvent e)
              ListSelectionModel lsm = (ListSelectionModel)e.getSource();
              int minIndex = lsm.getMinSelectionIndex();
            int maxIndex = lsm.getMaxSelectionIndex();
              try //*this one should display the info of the person whenever i click the person's name at the list box via textbox.. but i cant seem to get it right since it always display the info of the first person inputed.. i tried to get the program to display them whenever it reads lines with * on them....
                   File fob = new File("Address3.txt");
                   RandomAccessFile rand = new RandomAccessFile(fob,"rw");
                   BufferedReader br = new BufferedReader(new FileReader("Address3.txt"));
                   LineNumberReader line = new LineNumberReader(br);
                   if(fob.exists())
                              for(int i = minIndex; i<=maxIndex; i++)
                                   if(lsm.isSelectedIndex(i))
                                        while((name = rand.readLine()) != null)
                                             chars = name.toCharArray();
                                             if(chars[0] == '#')
                                                  continue;
                                             if(chars[0] == '*')
                                                  txt1.setText(rand.readLine());
                                                 txt2.setText(rand.readLine());
                                                 txt3.setText(rand.readLine());
                    else
                              System.out.println("No such file..");
              catch(IOException a)
                         System.out.println(a.getMessage());
    }the only problem now is about how it should display the right info about the person whenever i click its name on the list.. something about file reading or something, i just cant figure it out.
    and also about how to make it scroll once it exceeds the list.. i cant make it work, maybe something about wrong declaration..
    thanks in advance..
    Edited by: syder on Mar 14, 2008 2:26 AM

    Like said before, do one thing at a time. At startup, something like:
    //put all the content in a list
    ArrayList<String> lines = new ArrayList<String>();
    while(String line=rand.readLine()!=null) {
        lines.add(line);
    }If you follow the good advice to create a class to encapsulate the entries, you could populate a list of such entries like this:
    static final int ENTRY_SIZE = 3;//you have 3 fields now, better to have a constant if that changes
    ArrayList<Entry> entries = new ArrayList<Entry>();
    for(int i=0; i<lines.size(); i+=ENTRY_SIZE) {
        Entry entry = new Entry(lines.get(i), lines.get(i+1), lines.get(i+2);
        entries.add(newEntry);
    }You could also do both of the above in one run, but I think you will understand better what's happening if you do one thing at a time.
    If you don't want to put the entries in an encapsulating class, you can still access this without looping:
    int listStartIdx = <desired_entry_index>*ENTRY_SIZE;
    String att1 = lines.get(listStartIdx).substring(1);
    String att2 = lines.get(listStartIdx+1).substring(1);
    String att3 = lines.get(listStartIdx+2).substring(1);

  • Help with a java program

    Hello. I'm posting in these forums because I really don't know where else to go. I have been trying for the past several days to figure out how to go about writing my program but to no avail. The project requires reading many lines each containing several different elements from a datafile named "DATA". A few examples of some lines from that file:
    Department number/Number of units received/Date on which the shipment arrived/Expiration date/Name of Object
    0 78 02/03/2001 02/12/2001 apples
    0 26 06/03/2001 06/10/2001 lemons
    3 62 03/06/2001 03/14/2001 hamburger
    What we have to do with this data is read all of it from the file, separate all the different elements, and based on input from the user, sort everything and print it out to the screen. If the user enters 03, the program will show everything that arrived and expired within the month of March, sorted by date.
    It is a pretty basic program, but my problem is that I have no idea how to go about reading in this data, putting it into a vector (probably the easiest method) or separating the different elements. I've gone to websites and looked through my textbooks but they didn't help much. If anyone has any resources that could help for writing such a program, or if anyone could offer help in writing the program, I would really appreciate it. I can also show what I've managed to write so far, or more details on how the program should work. Thanks in advance.
    Matt

    since im not a pro like some of the guys on here :),
    and believe me thiers people here, who could write your whole app in a hour.
    anyways my advice , would be to do a search on the forums for useing.bufferReader()
    i think you would need to read the file in with bufferreader then split up each line useing the stringTokenizer and then use some algorithm to compare
    the values and split them up into your vector arrays as needed.
    thier is also fileinputStream i think you can use that too.

  • Need help with a rudimentary program

    I'm sort of new at this so i need help with a few things... I'm making a program to compile wages and i need answers with three things: a.) what are the error messages im getting meaning? b.) How can i calculate the state tax as 2% of my gross pay with the first $200 excluded and c.) how can i calculate the local tax as a flat $10 with $2 deducted for each dependant. any help is appreciated
    Here is what i have so far:
    public class WagesAsign1
              public static void main(String[] args)
                   int depend=4;
                   double hrsWork=40;
                   double payRate=15;
                   double grossPay;
                   grossPay=payRate*hrsWork;
                   double statePaid;
                   double stateTax=2.0;
                   statePaid=grossPay*(stateTax/100);
                   double localPaid;
                   double localTax=10.0;
                   localPaid=grossPay*(localTax/100);
                   double fedPaid;
                   double fedTax=10.0;
                   double taxIncome;
                   fedPaid=taxIncome*(fedTax/100);
                   taxIncome=grossPay-(statePaid+localPaid);
                   double takeHome;
                   System.out.println("Assignment 1 Matt Foraker\n");
                   System.out.println("Hours worked="+hrsWork+" Pay rate $"+payRate+" per/hour dependants: "+depend);
                   System.out.println("Gross Pay $"+grossPay+"\nState tax paid $"+statePaid+"\nLocal tax paid $"+localPaid+"\nFederal tax paid $"+fedPaid);
                   System.out.println("You take home a total of $"+takeHome);
    and these are the error messages so far:
    WagesAsign1.java:23: variable taxIncome might not have been initialized
                   fedPaid=taxIncome*(fedTax/100);
    ^
    WagesAsign1.java:29: variable takeHome might not have been initialized
                   System.out.println("You take home a total of $"+takeHome);
    ^

    edit: figured it out... please delete post
    Message was edited by:
    afroryan58

  • Need Help With D&D Program

    Hi, I'm not sure if I'm allowed to post questions on this forum but I can't find anywhere to talk to helpful people about programming.
    I'm making a dnd interface for JComponents. So far I've made a simple program that has a Component that can be lifted from a container and braught to the glass pane then later moved to anywhere on the screen and dropped into the container below it. Here's where my problems come:
    1) Rite now my 'Movable Component' is a JPanel which is just colored in. I want to either take a Graphic2d from a JComponent/Component and draw it on the JPanel or change the JPanel to the component I want to paint and disable the component.
    The problem with getting the Graphics2d is that if the component isn't on the screen it doesn't make a graphic object. I tried messing with the ui delicate and overriding parental methods for paintComponent, repaint, and that repaintChildren(forget name) but I haven't had luck getting a good graphics object. I was thinking of, at the beginning of running the program, putting 1 of each component onto the screen for a second then removing it but I'd rather not. I'd also like to change the graphics dynamicly if someone stretches the component there dropping and what not.
    The problem with disabling is that it changes some of the visual features of Components. I want to be able to update the Component myself to change how it looks and I don't want disabling to gray out components.
    I mainly just dont want the components to do any of there normal fuctions. This is for a page builder, by the way.
    Another problem I'm having is that mouseMotionListener is allowing me to select 2 components that are on top of one another when there edges are near each other. I don't know if theres a fix to this other than changing the Java Class.
    My next problem is a drop layout manager, but I'm doing pretty good with that rite now. It'll problem just move components out of the way of the falling component.
    One last thing I need help with is that I don't want the object that's being carried to go across the menu bar and certain areas. When I'm having the object being carried I have it braught up to the glass pane which allows it to move anywhere. Does anyone have any idea how I could prevent the component from being over the menu bars and other objects? I might have to make 1 panel is the movable area that can then be broken down into the 'component bank', 'building page' and whatever else I'm gonna need.
    This is all just test code to get together for when I make the real program but I need to make sure it'll be possible without a lot of hacking of code.
    Sorry for the length. Thanks for any help you can give.

    The trick to making viewable components that have no behaviour, is to render them onto an image of some sort (eg a BufferedImage). You can then display the Image on a JLabel that can be dragged around the desktop.
    Here is a piece of code that does the component rendering for you. This particular example uses a fixed component size, but you can modify that as you choose of course...public class JComponentImage
         private static GraphicsConfiguration gConfig;
         private static Dimension compSize = new Dimension(80, 22);
         private static Image image = null;
         public static Image getImage(Class objectClass)
              if (gConfig == null)
                   GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
                   GraphicsDevice gDevice = gEnv.getDefaultScreenDevice();
                   gConfig = gDevice.getDefaultConfiguration();
              image = gConfig.createCompatibleImage(compSize.width, compSize.height);
              JComponent jc = (JComponent) ObjectFactory.instantiate(objectClass);
              jc.setSize(compSize);
              Graphics g = image.getGraphics();
              g.setColor(Color.LIGHT_GRAY);
              g.fillRect(0, 0, compSize.width, compSize.height);
              g.setColor(Color.BLACK);
              jc.paint(g);
              return image;
    }And here is the class that makes the dragable JLabel using the class above...public class Dragable extends JLabel
         private static DragSource dragSource = DragSource.getDefaultDragSource();
         private static DragGestureListener dgl = new DragMoveGestureListener();
         private static TransferHandler th = new ObjectTransferHandler();
         private Class compClass;
         private Image image;
         Dragable(Class compClass)
              this.compClass = compClass;
              image = JComponentImage.getImage(compClass);
              setIcon(new ImageIcon(image));
              setTransferHandler(th);
              dragSource.createDefaultDragGestureRecognizer(this,
                                                          DnDConstants.ACTION_COPY,
                                                          dgl);
         public Class getCompClass()
              return compClass;
    }Oh and here is ObjectFactory which simply instantiates Objects of a given class and sets their text to their classname (very crudely)...public class ObjectFactory
         public static Object instantiate(Class objectClass)
              Object o = null;
              try
                   o = objectClass.newInstance();
              catch (Exception e)
                   System.out.println("ObjectFactory#instantiate: " + e);
              String name = objectClass.getName();
              int lastDot = name.lastIndexOf('.');
              name = name.substring(lastDot + 1);
              if (o instanceof JLabel)
                   ((JLabel)o).setText(name);
              if (o instanceof JButton)
                   ((JButton)o).setText(name);
              if (o instanceof JTextComponent)
                   ((JTextComponent)o).setText(name);
              return o;
    }Two more classes required by this codepublic class ObjectTransferHandler extends TransferHandler {
         private static DataFlavor df;
          * Constructor for ObjectTransferHandler.
         public ObjectTransferHandler() {
              super();
              try {
                   df = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType);
              } catch (ClassNotFoundException e) {
                   Debug.trace(e.toString());
         public Transferable createTransferable(JComponent jC) {
              Transferable t = null;
              try {
                   t = new ObjectTransferable(((Dragable) jC).getCompClass());
              } catch (Exception e) {
                   Debug.trace(e.toString());
              return t;
         public int getSourceActions(JComponent c) {
              return DnDConstants.ACTION_MOVE;
         public boolean canImport(JComponent comp, DataFlavor[] flavors) {
              if (!(comp instanceof Dragable) && flavors[0].equals(df))
                   return true;
              return false;
         public boolean importData(JComponent comp, Transferable t) {
              JComponent c = null;
              try {
                   c = (JComponent) t.getTransferData(df);
              } catch (Exception e) {
                   Debug.trace(e.toString());
              comp.add(c);
              comp.validate();
              return true;
    public class ObjectTransferable implements Transferable {
         private static DataFlavor df = null;
         private Class objectClass;
         ObjectTransferable(Class objectClass) {
              try {
                   df = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType);
              } catch (ClassNotFoundException e) {
                   System.out.println("ObjectTransferable: " + e);
              this.objectClass = objectClass;
          * @see java.awt.datatransfer.Transferable#getTransferDataFlavors()
         public DataFlavor[] getTransferDataFlavors() {
              return new DataFlavor[] { df };
          * @see java.awt.datatransfer.Transferable#isDataFlavorSupported(DataFlavor)
         public boolean isDataFlavorSupported(DataFlavor testDF) {
              return testDF.equals(df);
          * @see java.awt.datatransfer.Transferable#getTransferData(DataFlavor)
         public Object getTransferData(DataFlavor arg0)
              throws UnsupportedFlavorException, IOException {
              return ObjectFactory.instantiate(objectClass);
    }And of course the test class:public class DragAndDropTest extends JFrame
         JPanel leftPanel = new JPanel();
         JPanel rightPanel = new JPanel();
         Container contentPane = getContentPane();
         Dragable dragableJLabel;
         Dragable dragableJButton;
         Dragable dragableJTextField;
         Dragable dragableJTextArea;
          * Constructor DragAndDropTest.
          * @param title
         public DragAndDropTest(String title)
              super(title);
              dragableJLabel = new Dragable(JLabel.class);
              dragableJButton = new Dragable(JButton.class);
              dragableJTextField = new Dragable(JTextField.class);
              dragableJTextArea = new Dragable(JTextArea.class);
              leftPanel.setBorder(new EtchedBorder());
              BoxLayout boxLay = new BoxLayout(leftPanel, BoxLayout.Y_AXIS);
              leftPanel.setLayout(boxLay);
              leftPanel.add(dragableJLabel);
              leftPanel.add(dragableJButton);
              leftPanel.add(dragableJTextField);
              leftPanel.add(dragableJTextArea);
              rightPanel.setPreferredSize(new Dimension(500,500));
              rightPanel.setBorder(new EtchedBorder());
              rightPanel.setTransferHandler(new ObjectTransferHandler());
              contentPane.setLayout(new BorderLayout());
              contentPane.add(leftPanel, "West");
              contentPane.add(rightPanel, "Center");
         public static void main(String[] args)
              JFrame frame = new DragAndDropTest("Drag and Drop Test");
              frame.pack();
              frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
              frame.setVisible(true);
    }I wrote this code some time ago, so it won't be perfect but hopefully will give you some good ideas.
    Regards,
    Tim

  • Need help with a simple program (should be simple anyway)

    I'm (starting to begin) writing a nice simple program that should be easy however I'm stuck on how to make the "New" button in the file menu clear all the fields. Any help? I'll attach the code below.
    ====================================================
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Message extends JFrame implements ActionListener {
         public void actionPerformed(ActionEvent evt) {
         text1.setText(" ");
         text2.setText("RE: ");
         text3.setText(" ");
         public Message() {
         super("Write a Message - by Kieran Hannigan");
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setSize(370,270);
         FlowLayout flo = new FlowLayout(FlowLayout.RIGHT);
         setLayout(flo);
         //Make the bar
         JMenuBar bar = new JMenuBar();
         //Make "File" on Menu
         JMenu File = new JMenu("File");
         JMenuItem f1 = new JMenuItem("New");f1.addActionListener(this);
         JMenuItem f2 = new JMenuItem("Open");
         JMenuItem f3 = new JMenuItem("Save");
         JMenuItem f4 = new JMenuItem("Save As");
         JMenuItem f5 = new JMenuItem("Exit");
         File.add(f1);
         File.add(f2);
         File.add(f3);
         File.add(f4);
         File.add(f5);
         bar.add(File);
         //Make "Edit" on menu
         JMenu Edit = new JMenu("Edit");
         JMenuItem e1 = new JMenuItem("Cut");
         JMenuItem e2 = new JMenuItem("Paste");
         JMenuItem e3 = new JMenuItem("Copy");
         JMenuItem e4 = new JMenuItem("Repeat");
         JMenuItem e5 = new JMenuItem("Undo");
         Edit.add(e5);
         Edit.add(e4);
         Edit.add(e1);
         Edit.add(e3);
         Edit.add(e2);
         bar.add(Edit);
         //Make "View" on menu
         JMenu View = new JMenu("View");
         JMenuItem v1 = new JMenuItem("Bold");
         JMenuItem v2 = new JMenuItem("Italic");
         JMenuItem v3 = new JMenuItem("Normal");
         JMenuItem v4 = new JMenuItem("Bold-Italic");
         View.add(v1);
         View.add(v2);
         View.add(v3);
         View.addSeparator();
         View.add(v4);
         bar.add(View);
         //Make "Help" on menu
         JMenu Help = new JMenu("Help");
         JMenuItem h1 = new JMenuItem("Help Online");
         JMenuItem h2 = new JMenuItem("E-mail Programmer");
         Help.add(h1);
         Help.add(h2);
         bar.add(Help);
         setJMenuBar(bar);
         //Make Contents of window.
         //Make "Subject" text field
         JPanel row2 = new JPanel();
         JLabel sublabel = new JLabel("Subject:");
         row2.add(sublabel);
         JTextField text2 = new JTextField("RE:",24);
         row2.add(text2);
         //Make "To" text field
         JPanel row1 = new JPanel();
         JLabel tolabel = new JLabel("To:");
         row1.add(tolabel);
         JTextField text1 = new JTextField(24);
         row1.add(text1);
         //Make "Message" text area
         JPanel row3 = new JPanel();
         JLabel Meslabel = new JLabel("Message:");
         row3.add(Meslabel);
         JTextArea text3 = new JTextArea(6,22);
         messagearea.setLineWrap(true);
         messagearea.setWrapStyleWord(true);
         JScrollPane scroll = new JScrollPane(text3,
                                  JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                                  JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
         //SpaceLine
         JPanel spaceline = new JPanel();
         JLabel spacer = new JLabel(" ");
         spaceline.add(spacer);
         row3.add(scroll);
         add(row1);
         add(row2);
         add(spaceline);
         add(spaceline);
         add(row3);
         setVisible(true);
         public static void main(String[] arguments) {
         Message Message = new Message();
    }

    persiandude wrote:
    Topic: Need help with if, else, and which statements and loops.
    How would I display 60 < temp. <= 85 in java
    System.out.println("60 < temp. <= 85 in java");
    another question is how do I ask a question like want to try again (y/n) after a output and asking that everytime I type in yes after a output and terminate when saying No.Sun's [basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    Sun's [New To Java Center|http://java.sun.com/learning/new2java/index.html].Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    [http://javaalmanac.com|http://javaalmanac.com]. A couple dozen code examples that supplement [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance].
    jGuru. A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch. To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    Bruce Eckel's [Thinking in Java|http://mindview.net/Books/DownloadSites] (Available online.)
    Joshua Bloch's [Effective Java|http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=pd_bbs_1?ie=UTF8&s=books&qid=1214349768&sr=8-1]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance].
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806].

  • Help with a simple program.

    I need some help writing a simple program. Can anybody help??
    thanks to all.
    2. HTML Java Source Code Reserved Word Highlighter
    Write a program that inputs a Java source code file and outputs a copy of that file with Java keywords surrounded with HTML tags for bold type. For example this input:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");
    will be transformed into:
    <B>public</B> <B>class</B> JavaSource
    <B>public</B> <B>static</B> <B>void</B> main ( String[] args )
    <B>if</B> ( args.length == 3 )
    <B>new</B> BigObject();
    <B>else</B>
    System.out.println("Too few arguments.");
    In a browser the code will look like this:
    public class JavaSource
    public static void main ( String[] args )
    if ( args.length == 3 )
    new BigObject();
    else
    System.out.println("Too few arguments.");

    Here is something that may get you started...
    import java.io.*; 
    import java.util.*; 
    public class HtmlJava{
         public static void main(String arg[]){
              if(arg.length!=1){
                   System.out.println("Usage java HtmlJava sourceFile");       
              else
                   new HtmlJava(arg[0]);
         HtmlJava(String source){
              try{
                   BufferedReader sourceReader=new BufferedReader(new InputStreamReader(new FileInputStream(source)));
                   BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(source+"Html.txt")));  
                   Vector keywords=new Vector();
                   addKeywords(keywords);
                   String line;
                   StringTokenizer tokenizer=null;
                   String word;
                   while((line=sourceReader.readLine () )!=null){
                        tokenizer=new StringTokenizer(line);
                        while(tokenizer.hasMoreTokens()){
                             word=tokenizer.nextToken();
                             if(keywords.contains(word)){
                                  writer.write(""+word+" ");
                             else{
                                  writer.write(word+" ");
                        writer.write("\r\n");
                   writer.close();
                   sourceReader.close(); 
                   System.out.println("Output File written to "+source+"Html.txt"); 
              catch(Exception ex){
                   ex.printStackTrace();      
         private void addKeywords(Vector keywords){
              keywords.addElement ( "abstract");
              keywords.addElement( "boolean");
              keywords.addElement( "break");
              keywords.addElement( "byte");
              keywords.addElement( "byvalue");
              keywords.addElement( "case");
              keywords.addElement( "cast");
              keywords.addElement( "catch");
              keywords.addElement( "char");
              keywords.addElement( "class");
              keywords.addElement( "const");
              keywords.addElement( "continue");
              keywords.addElement( "default");
              keywords.addElement( "do");
              keywords.addElement( "double");
              keywords.addElement( "else");
              keywords.addElement( "extends");
              keywords.addElement( "false");
              keywords.addElement( "final");
              keywords.addElement( "finally");
              keywords.addElement( "float");
              keywords.addElement( "for");
              keywords.addElement( "future");
              keywords.addElement( "generic");
              keywords.addElement( "goto");
              keywords.addElement( "if");
              keywords.addElement( "implements");
              keywords.addElement( "import");
              keywords.addElement( "inner");
              keywords.addElement( "instanceof");
              keywords.addElement( "int");
              keywords.addElement( "interface");
              keywords.addElement( "long");
              keywords.addElement( "native");
              keywords.addElement( "new");
              keywords.addElement( "null");
              keywords.addElement( "operator");
              keywords.addElement( "outer");
              keywords.addElement( "package");
              keywords.addElement( "private");
              keywords.addElement( "protected");
              keywords.addElement( "public");
              keywords.addElement( "rest");
              keywords.addElement( "return");
              keywords.addElement( "short");
              keywords.addElement( "static");
              keywords.addElement( "super");
              keywords.addElement( "switch");
              keywords.addElement( "synchronized");
              keywords.addElement( "this");
              keywords.addElement( "throw");
              keywords.addElement( "throws");
              keywords.addElement( "transient");
              keywords.addElement( "true");
              keywords.addElement( "try");
              keywords.addElement( "var");
              keywords.addElement( "void");
              keywords.addElement( "volatile");
              keywords.addElement( "while");
    }Hope it helped

  • Help with SQL Server 2005 http Endpoint

    I am trying to use mx:webservice to directly connect to a SQL
    Server 2005 HTTP Endpoint. Is this possible. Is there going to be a
    problem with crossdomain issues? If the Endpoint is actively
    listening on port 80 then IIS cannot. So I cannot place
    crossdomain.xml in webserver, how will I overcome this crossdomain
    problem? Am I making this more complicated than it is? If anyone
    has an example it would be appreciated. All I want is a flex2 app
    talking directly to sql server. Seems possible.

    Kent, I see that many others have reported that error (doing
    a google search), but I see no ready answers. I saw something that
    reminded me of a connection string value that I've seen answer some
    problems. May be worth a shot for you: try adding this string to
    the connection string (in "advanced options") for your datasource:
    AuthenticationMethod=Type2
    If it doesn't solve it, remove it. But keep it handy in case
    it ever may help with some other problem.
    Here's one other possible answer for you:
    http://www.webmasterkb.com/Uwe/Forum.aspx/coldfusion-server/3206/SQL-Server-2000-Windows-A uth
    Sorry I can't be more clear for you.

  • Help with an array program

    I can't see how to calculate the lowest hours, highest hours, and average hours worked.
    These three values should be outputted each on a seperate line.
    I just can't figure this out.
    Any help please.
    This program will show the employees
    hours. It will have one
    class.It will use an array to keep
    track of the number of hours the employee
    has worked with the output to the monitor
    of the employees highest, lowest, and the
    average of all hours entered. */
    import java.util.*;
    import java.text.DecimalFormat;
    /*** Import Decimal Formating hours to format hours average. ***/
    public class cs219Arrays
         public static void main(String[] args)
              Scanner scannerObject = new Scanner(System.in);
              int[] employees ={20, 35, 40};
              int employeesHighest = 40;
              int employeesLowest = 20;
              double employeesAverage = 35;
              int[] firstEmployee = new int[1];
              int[] secondEmployee = new int[2];
              int[] thirdEmployee = new int[3];
              System.out.println("This program will accept hours worked for 3 employees.");
              System.out.println("Enter hours worked for employee #: ");
              System.out.println(".\n");
              employeesAverage = scannerObject.nextInt();
              for(int count =20; count <= 40; count++)
                             DecimalFormat df = new DecimalFormat("0.00");
                             System.out.println("pay: " employeesAverage " lowest " employeesHighest " Highest hours " employeesLowest " Lowest hours "+df.format(employeesAverage));
                             System.out.print("\n");
                             employeesAverage++;
    }/* end of body of first for loop */
              for(int count =20; count <= 40; count++)
                                       employeesAverage = employeesAverage + employeesHighest + employeesLowest;
                                       DecimalFormat df = new DecimalFormat("0.00");
                                       System.out.println("pay: $" employeesAverage " lowest " employeesHighest " Highest hours $" +df.format(employeesAverage));
                                       System.out.print("\n");
                                       employeesAverage++;
    }/* end of body of second for loop */
              for(int count =20; count <= 40; count++)
                                       employeesAverage = employeesAverage + employeesHighest + employeesLowest;
                                       DecimalFormat df = new DecimalFormat("0.00");
                                       System.out.println("pay: $" employeesAverage " lowest " employeesHighest " Highest hours $" +df.format(employeesAverage));
                                       System.out.print("\n");
                                       employeesAverage++;
    }/* end of body of third for loop */
              System.out.println("\n");
              DecimalFormat twoDigits = new DecimalFormat("0.00");
              /*** Create new DecimalFormat object named twoDigits ***/
              /*Displays number of hours, employees hours and average hours.*/
              System.out.println("You entered " + employeesAverage + " number of hours.");
              System.out.println("Your number of hours are " + twoDigits.format(employeesAverage));
              System.out.println("\n\n");
    }     /*End of method for data.*/
    {     /*Main method.*/
    }     /*End of main method.*/
    }     /*End of class cs219Arrays.*/

    Want help?
    Use the code formatting tags for starters. http://forum.java.sun.com/help.jspa?sec=formatting

Maybe you are looking for

  • How to transfer apps and music from itouch 5 to new computer?

    I bought a new computer and I was wondering how I transfer music/apps from my ipod touch gen 5 to my new computer/new itunes? I'm pretty much an idiot when it comes to computer I get my music from places other than itunes and I don't want to lose the

  • Photoshop acting buggy after 10.6.5 update help please

    So after I get a work-around for the bluetooth problem i can't seem to  solve, my photoshop is totally screwy. First it's cs4 extended and my  macbook pro is 3.06 with 6gb ram. I never had problems before the update  and I've done everything you can

  • Enrollment Print Form Not Showing up in ESS

    Hi Experts,                   I am having an issue with the Benefit's Enrollment form not showing up in the ESS for the Adjustment reasons. We are currently not using the Standard Open Enrollment event, I have created a new Adjust reason 'OPN'  for '

  • Table cell is longer than 176 cm in smartforms

    Hi all, While printing the smart form  output it is giving error : single table cell is longer than 176 cm I found the problem , one of the table field is getting more records Those records are not fitting in the screen  , what I will do? I referred

  • Bug in Kotoeri  (Japanese kotoeri input) please help ?

    I have kotoeri all setup but in a word document when I try to input japanese words (having checked hiragna or katakana) using my qwerty keyborad the kotoeri switches continuously between romajis and kanas like this : nいっpおn trying to type 'nippon' An