Autor Thema: Ausgabe formatieren  (Gelesen 5908 mal)

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Ausgabe formatieren
« am: 08.09.03 - 12:01:29 »
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
« Letzte Änderung: 08.09.03 - 21:03:06 von fritandr »
Andreas Fritz

Axel Janssen temp

  • Gast
Re:Ausgabe formatieren
« Antwort #1 am: 09.09.03 - 09:11:44 »
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);
         }
      }
   }
}


Gruß Axel

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re:Ausgabe formatieren
« Antwort #2 am: 09.09.03 - 10:37:59 »
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
Andreas Fritz

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Ausgabe formatieren
« Antwort #3 am: 14.10.05 - 11:09:37 »
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.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Ausgabe formatieren
« Antwort #4 am: 14.10.05 - 11:25:51 »
Das ist eine Standalone Klasse und nichts Notes-Spezifisches.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Ausgabe formatieren
« Antwort #5 am: 14.10.05 - 11:38:27 »
danke kennwort aber mit diese Antwort kann ich nichts anfangen...

muss ich wa in mein Code einfügen oder ein Einstellung in Notes ändern?

Offline fritandr

  • Global Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 742
  • Geschlecht: Männlich
  • Höre nie auf besser zu werden...
    • KAMMACHI Consulting GmbH
Re: Ausgabe formatieren
« Antwort #6 am: 14.10.05 - 11:59:47 »
Hallo Alois,

kennwort will damit zum Ausdruck bringen, daß das o.g. Beispiel ausschließlich dafür gedacht ist, außerhalb Notes zu laufen.
Das Beispiel kannst Du so erstmal gar nicht unter Notes ablaufen lassen.

Viele Grüße
Andreas
Andreas Fritz

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Ausgabe formatieren
« Antwort #7 am: 14.10.05 - 12:19:04 »
Man kann das schon in einen Agenten einfügen.
Man muß nur eben wissen wie.

Du kannst beispielsweise die Klasse importieren (über Projekt bearbeiten-Button in Notes oder Neue Klasse Button und dort den Code reinkopieren) und dann im von Notes vorgenerierten

try

String [] dummy = {};
EinmalEins.main (dummy);

Ich seh es aber als ein solches rumdaddeln als keine zielführende Methode an, um eine Programmiersprache mit einem für den Fragesteller offensichtlich neuen Paradigma (objektorientiert) zu lernen.

Kauf dir einfach ein Java Einführungsbuch.
Ansonsten ist das so ähnlich als wenn PDS Leute über wirtschaftspolitische Themen reden ->
es schwankt je nach meiner Laune zwischen ärgerlich und unfreiwillig komisch.

Ich kauf mir z.B. für Ruby auch ein Buch und stelle dann Fragen, die den Antwortern weniger Mühe bereiten.

Axel
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Ausgabe formatieren
« Antwort #8 am: 14.10.05 - 12:34:19 »
kennwort: diesmal kann ich was mit dein Antwort anfangen  :D

Das ist schon klar dass einfach nicht so gestartet werden kann.... mir interessiert momentan nur die Ausgabe (Zwecks debuggen). Da nützt mir ein Java Buch nur bedingt da ich schon den system.out.println in meine DOS Fenster habe, bzw mit alert bisher immer gut zurecht gekommen bin.

Also Klartext: Wo ist mein Ausgabe? und wie kann ich diese system.out.println im Log oder auf den Bildschirm umleiten?

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re: Ausgabe formatieren
« Antwort #9 am: 14.10.05 - 12:43:13 »
Das sollte im Normalfall auf der Java-konsole von Notes ausgegeben werden. Ist irgendwo im Menü File bzw. Datei zu finden.

Was heißt auf den Bildschirm umleiten?
Ins Log umleiten kannst du z.B. mit Hilfe der Notes Log-Klasse
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz