Tafel(rekenscript)

Status
Niet open voor verdere reacties.

KlaasH

Gebruiker
Lid geworden
20 mei 2009
Berichten
10
ik heb een script gemaakt waarbij ik bij het invoeren van de nummer bijvoorbeeld de tafel van 1 de tafel ervan tevoorschijn wil halen.
de script die ik heb gemaakt ziet er als volgt uit:
Code:
import javax.swing.JOptionPane;

public class Tafel {

	   public static void main(String[] args) {
	        
	        for(int i=1;i<=[B]1[/B];i++){
	            for(int j=1;j<=10;j++){
	        
	                System.out.println(j +" x " +i +" = " +(j*i));
		JOptionPane.showMessageDialog(null, j +" x " +i +" = " +(j*i));
	            }
	        }	        
	    }
	}
als ik de vetgedrukte 1 wijzig in bijvoorbeeld 2 dan krijg ik de tafel van 1 en 2 achter elkaar en dan krijg ik de melding niet in een keer maar dan moet ik een melding met 1x1 = 1, 2x1 = 2 zo verder achter elkaar.
weet iemand hoe ik het als 1 melding kan zetten?
dus de melding moet dan in 1 keer zo uitzien:

1x1 =1
2x1 =2
3x1 =3
4x1 =4
4x1 =5
6x1 =6
7x1 =7
8x1=8
9x1=9
10x1=10

ook wil ik het tafel in een venster willen invullen, dat ik een melding krijg met "vul hier het cijfer waarvan je het tafel wilt hebben".
weten jullie hoe ik dat kan oplossen?

alvast bedankt.

mvg,
Klaas
 
Laatst bewerkt door een moderator:
Omdat JOptionPane.showMessageDialog in je loop staat zal je elke keer een venster voor krijgen.
Dus jeJOptionPane.showMessageDialog moet na je for loop komen en in de loop moet je tekst wel bewaren in variable.

Dus voor de for-loop: String tekst = "";
in de for-loop: tekst = tekst + j +" x " +i +" = " +(j*i) +"\n";
na de for-loop: JOptionPane.showMessageDialog(null,tekst);

Als je de gebruiker om input wil vragen kan je gebruik maken van

String getalString = JOptionPane.showInputDialog("Geef een getal");

(getalString is wel een String..maar met Integer.parseInt(getal) kan je dit omzetten naar een int.

succes.

ps.1 tekst = tekst + j +" x " +i +" = " +(j*i) +"\n"; is niet efficient, je kan beter StringBuilder gebruiken...
ps. 2 "\n" is linebreak, zodat de regels onder elkaar komen ipv achter elkaar. Officieel hoor je System,getProperties("line.separator") te gebruiken ipv "\n"
 
Omdat JOptionPane.showMessageDialog in je loop staat zal je elke keer een venster voor krijgen.
Dus jeJOptionPane.showMessageDialog moet na je for loop komen en in de loop moet je tekst wel bewaren in variable.

Dus voor de for-loop: String tekst = "";
in de for-loop: tekst = tekst + j +" x " +i +" = " +(j*i) +"\n";
na de for-loop: JOptionPane.showMessageDialog(null,tekst);

Als je de gebruiker om input wil vragen kan je gebruik maken van

String getalString = JOptionPane.showInputDialog("Geef een getal");

(getalString is wel een String..maar met Integer.parseInt(getal) kan je dit omzetten naar een int.

succes.

ps.1 tekst = tekst + j +" x " +i +" = " +(j*i) +"\n"; is niet efficient, je kan beter StringBuilder gebruiken...
ps. 2 "\n" is linebreak, zodat de regels onder elkaar komen ipv achter elkaar. Officieel hoor je System,getProperties("line.separator") te gebruiken ipv "\n"

ik heb al een aantal mogelijkheden geprobeerd, alleen is het me niet gelukt.
zou je het voor me kunnen uitschrijven?
 
Dit zal zo ongeveer zijn wat hij bedoelt
Code:
import javax.swing.JOptionPane;

public class tafel {
public static void main(String[] args) {
   String  s_mes= "";
   for(int i=1;i<=2;i++){
	for(int j=1;j<=10;j++){
		System.out.println(j +" x " +i +" = " +(j*i));
		s_mes = s_mes+j +" x " +i +" = " +(j*i) +"\n";
		}
	}	
	JOptionPane.showMessageDialog(null,s_mes);
   }
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan