Lotus Notes / Domino Sonstiges > Java und .NET mit Notes/Domino

Ausgabe formatieren

(1/2) > >>

fritandr:
Hallo,

auf die Gafahr hin, daß Ihr mich steinigt. Ich möchte gerne mit Java eine simple Multiplikationstabelle am Bildschirm (Console) ausgeben. Das hat zunächst mal nichts mit Notes zu tun und soll es auch nicht haben. Ich spiele nur ein bischen mit den Möglichkeiten von Java und nehme dazu bekannte Beispiele aus anderen Programmierumgebungen (wie COBOL oder C), die ich versuche in Javacode umzusetzen.

Dazu habe ich bis jetzt folgenden Quelltext.
-----
/* Einmaleins.java */
/* Es soll eine Multiplikationstabelle am Bildschirm ausgegben werden */

import java.text.*;

public class Einmaleins
{
   public static void print(double value, String format)
   {
      DecimalFormat df = new DecimalFormat(format);
      System.out.print(df.format(value));
   }   

   public static void main(String[] args)
   {
      int innen = 0;
      int aussen = 0;

      for (aussen = 1; aussen <= 10; ++aussen) {
         System.out.println("\n");
         for (innen = 1; innen <= 10; ++innen) {
            print(aussen * innen, "  000");
         }
      }
   }
}
-----

Jetzt zu meinem Problem. Es wird am Bildschirm eine Tabelle angezeigt. An dieser Tabelle stören mich die führenden Nullen. Diese führenden Nullen wollte ich gerne entfernen. Leider bekomme ich das mit "DecimalFormat" so nicht hin.
Frage: Gibt es die Möglichkeit, meine Tabelle mit Java Standardmitteln vernünftig zu formatieren oder muß ich mir dazu selbst was schreiben?

Ich bin mir übrigens der Tatsache bewusst, daß das schnell zu einem nicht trivialen Problem werden kann, wenn ich an proportionale/nicht-proportionale Schriftarten, ... denke. ImMoment möchte ich nur eine kleine Lösung für die Console.

Vielleicht hat einer von Euch schon mal solch eine "Stringformatierung" gemacht?
Bin für jede Anregung dankbar. Wo kann/muß ich suchen?

Viele Grüße
Andreas

Axel Janssen temp:
Warum sollte dich jemand steinigen. Obwohl die Verunsicherung rund um dieses Forum auch wiederum einen gewissen Charme hat.

Ohne DecimalFormat. Auf die Schnelle.



Hier ist meine Lösung:

--- Code: ---/* EinmalEins.java
* Created on 09.09.2003
*/

/**
* Es soll eine Multiplikationstabelle am Bildschirm ausgegben werden
*
* @author Axel Janssen
* @version 1.0, 09.09.2003
*/

import java.text.*;

public class EinmalEins {
   /** Zeichen pro Zelle der Tabelle */
   private static final int WIDTH_PRINTED_CELL = 4;

   /** alte Methode */
   public static void print(double value, String format) {
      DecimalFormat df = new DecimalFormat(format);
      System.out.print(df.format(value));
   }

   /** neue Methode */
   public static void otherPrint(double value) {
      // casting: double nicht benötigt.
      int valInt = (int) value;
      String valString = "" + valInt;
      // Auffüllen der Leerstellen.
      for (int i = valString.length(); i <= WIDTH_PRINTED_CELL; i++) {
         System.out.print(" ");
      }
      System.out.print(valString);

   }

   public static void main(String[] args) {
      int innen = 0;
      int aussen = 0;

      for (aussen = 1; aussen <= 10; ++aussen) {
         System.out.println("\n");
         for (innen = 1; innen <= 10; ++innen) {
            //print(aussen * innen, "  000");
            otherPrint(aussen * innen);
         }
      }
   }
}


--- Ende Code ---

Gruß Axel

fritandr:
Hallo Axel,

vielen Dank für Deine Hilfe.

Ich habe mich in der Java-Hilfe schon dumm und dämlich gesucht, bevor ich hier gepostet habe. Deshalb bin ich auch nicht überrascht, daß ich das wohl in einem solchen Fall tatsächlich selbst machen muß.

Die Multiplikationstabelle ist nur ein ganz kleines Beispiel. Trotzdem kann man beispielsweise an Deiner Methode otherPrint() schon ein paar Nettigkeiten (Konvertierung int <-> string, ...) sehen. Das ist sicher ein Minibeispiel, aber es hilft mir weiter.

Viele Grüße
Andreas

Alois:
habe bisher kein Ahnung von Java-Agente und wollte es mir ein bisschen anschauen...

Jetzt habe ich einfach den Code (EinMalEins) kopiert und in ein Test Datenbank (local) eingefügt. Das Kompilieren und Ausführen der Skript ist kein Problem... Anscheinend...
aber ich bekomme kein Ausgabe  :'(

Ich habe mein lokale notes.nsf angeschaut: nichts
habe in notes ini den "Console_LogLevel" auf 5 gesetzt....
Java ist zugelassen...

Also kein Ahnung wo diese System.out.println landet...

Für euch sicher kein Problem aber ich habe schon 30 Min verbracht und immer noch kein Zeichen zu sehen.

flaite:
Das ist eine Standalone Klasse und nichts Notes-Spezifisches.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln