Toon posts:

Java spiegelen van text

Pagina: 1
Acties:
  • 166 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een opdracht om in een Java progje decimaal naar binair om te rekenen, dat is nu gelukt alleen moet de output die ie op het scherm geeft omgedraait worden, is er iemand die weet hoe?

mijn code :

public class binair
{
public static void main (int getal)
{

int rest;

while (getal !=0)
{
rest = getal%2;
getal = getal/2;

System.out.print(rest);
}

}

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

for lusje maken en achteruit lopen?
of is er een string.reverse oid?

Doet iets met Cloud (MS/IBM)


Verwijderd

array/vector maken i.p.v. direct printen en deze van achter naar voren doorlopen :?

Verwijderd

Topicstarter
Verwijderd schreef op 28 November 2002 @ 11:44:
array/vector maken i.p.v. direct printen en deze van achter naar voren doorlopen :?
Hehe ja makkelijker gezegd dan gedaan :P

Ik ben het dus beetje aan het leren op school, alleen wil het niet helemaal lukken.

Naja ben iig de enige die deze code goed heeft in de klas :)

  • whoami
  • Registratie: December 2000
  • Nu online
Zo moeilijk is het niet hoor. Gewoon ff kijken wat een array / vector is, hoe je die gebruikt en hoe je die kunt doorlopen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op 28 november 2002 @ 11:47:
Zo moeilijk is het niet hoor. Gewoon ff kijken wat een array / vector is, hoe je die gebruikt en hoe je die kunt doorlopen.
Okay, ik gaat weer verder zoeken, tnx iig :)

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 18:31

BCC

Eeh, maak ff een string output waar je elke keer op de goede manier rest aan plakt en output die?!

Zo:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class binair
{
public static void main (int getal)
{ 

      String rest="";

      while (getal !=0) 
      {
            rest = (int)getal%2 + rest; 
            getal = getal/2;
      } 

      System.out.print(rest);

}
}

[ Voor 68% gewijzigd door BCC op 28-11-2002 11:56 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
2 simpele opties
1) je stopt de ints in een array/vector en gebruikt de volgende lus
Java:
1
2
3
4
5
for( int i = myArray.length; i > 0 ; i-- ) {

   //do shit
   //
}

2) Sla het op in een String en gebruik reverse()
Hmmz ik dacht dat die erbij was gekomen met 1.4. Was een andere dan zeker :?

[ Voor 17% gewijzigd door Glimi op 28-11-2002 11:56 ]


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Het Commons.lang project heeft een StringUtils klasse met allemaal hele handige methoden. Hier zit ook een reverse bij. Sowieso zit er veel handig zooi in alle klassen van dit projectje :) .

Docs: http://jakarta.apache.org...ons/lang/StringUtils.html
Alle: http://jakarta.apache.org/commons/lang/api/index.html
Home: http://jakarta.apache.org/commons/lang.html

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
BCC schreef op 28 november 2002 @ 11:50:
Eeh, maak ff een string output waar je elke keer op de goede manier rest aan plakt en output die?!
Makkelijker gezegd dan gedaan, ik ben een Java n00b.. maar ik ben al aan het zoeken, kan alleen nog niet echt wat vinden helaas :(

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 18:31

BCC

Zie een paar berichten hoger :)

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Verwijderd

Topicstarter
hehe tnx, :) les is nu afgelopen, volgende keer weer een keer!!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 20:03

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 28 November 2002 @ 11:42:
Ik ben bezig met een opdracht om in een Java progje decimaal naar binair om te rekenen, dat is nu gelukt alleen moet de output die ie op het scherm geeft omgedraait worden, is er iemand die weet hoe?

mijn code :

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class binair
{
    public static void main (int getal)
    {    
    
        int rest;
    
        while (getal !=0)  
        {
            rest = getal%2;  
            getal = getal/2;
                    
            System.out.print(rest);
        }    
            
   }
}


Je kan natuurlijk ook gewoon het getal van voor naar achter omzetten ipv van achter naar voor zoals je nu doet. Ook loont het meer om bitoperaties te gebruiken, de representatie in binary staat immers al voor je neus, alleen zul je die even bit voor bit moeten outputten

Java:
1
2
3
int getal = 12345;
for (int bit = 31; bit >= 0; --bit)
    System.out.print ((getal >> bit) & 1);


dit stukje code output echter ook de voorste nullen... aan jou de taak om dat op te lossen (je moet tenslotte toch iets zelf doen) ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Je kunt ook de print & recursie omdraaien:

als je x=1001 moet printen, print je eerst (recursief) x/2=100, en daarna x%2=1.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 26-08 21:49

NDF82

Doomed Space Marine

Ik heb op school geleerd dat een goede programmeur lui is dus hier komt ie :9 :
code:
1
String binairGetal = Integer.toBinaryString(getal);

:)

[ Voor 5% gewijzigd door NDF82 op 28-11-2002 12:48 ]

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


  • Xanthus
  • Registratie: Februari 2002
  • Laatst online: 11-07 12:45
StringBuffer heeft wel een reverse,
dus je zou kunnen doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Binair {
    public static void main (int getal) { 
        StringBuffer output = new StringBuffer();
        int rest;
        while (getal !=0) {
            rest = getal%2; 
            getal = getal/2;

            ouput.append(rest);
        }
        System.out.println(output.reverse().toString());
    }
}

Als je die library-functie niet wilt gebruiken natuurlijk.

Je zou ook ipv steeds outout.append(rest), output.insert(0, rest); kunnen gebruiken, dan hoef je hem niet te reversen.

[ Voor 4% gewijzigd door Xanthus op 28-11-2002 13:03 ]

Pagina: 1