Archief - java help met oefening

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

math

Legacy Member
yo, ik ben al een tijd aan het zoeken naar fouten in deze oefening maar ik vind er geen.

De opdracht: Er zijn vier (arrays) rijen met daarin 5 waarden groter dan 0;
rij1 = deze waarden zijn gegeven
rij2 = de gebruiker moet 5 waarden ingeven
rij3 = de gebruiker geeft een getal in, dit getal bepaalt hoeveel keer de waarden in rij 2 worden opgeschoven, dit is dan rij 3
rij 4 = rij1/rij3
Al deze rijen worden dan afgeprint

problemen; Als ik mijn programma opstart dan vraagt het maar 4 getallen en dat is het. De rijen worden zelfs niet getoont op het scherm






Code:
import javax.swing.JOptionPane;
import java.util.Random;

public class H7Oef2
{
	public static void main(String args[])
	{

		final int rij1[] = {2,7,1,9,4};
	             int[] rij2 = invoerRij();
		double rij3[] = delen( rij1, rij2);
		double rij4[] = verschuiven(rij3);
		JOptionPane.showMessageDialog(null,tonen(rij1, rij2, rij3, rij4));

	}

	public static int[] invoerRij()
	{
		String r;
		int rij2[] = new int[ 4 ];

		for(int t = 0; t < rij2.length; t++)
		{
			r = JOptionPane.showInputDialog("geef een positief getal in: ");
			int g = Integer.parseInt(r);

			if(g <= 0)
			{
				System.out.print("is geen positief getal");
				t-=1;
			}

			else
			{
				rij2[t] = g;
			}
		}

		return rij2;
	}


	public static double[] delen( int[]f,int[]g)
	{
		double rij3[] = new double[4];

		for(int t = 0; t < g.length; t++)
		{
			rij3[t] = f[t] / g[t];
		}

		return rij3;
	}


	public static double[] verschuiven(double[]r)
	{
		Random getal = new Random();
		int p = 1 + getal.nextInt(4);

		for(int t = 0; t <= p; t++)
		{
			for(int l = 0; l < r.length-1; l++)
			{
				double temp = r.length;
				r[l + 1] = r[l];
				r[0] = temp;

			}

		}

		return r;
	}


	public static String tonen(int[]r1,int[]r2,double[]r3,double[]r4)
	{
		String uitvoer;
		for( int t = 0; t < r1.length; t++)
		{
			uitvoer += String.format("rij 1: %d /n rij 2: %d /n rij 3: %.2f /n rij 3 na verschuiving: %.2f",r1[t],r2[t],r3[t],r4[t]);
			return uitvoer;
	    }

	}

}

KenSpectre

Legacy Member
Code:
for(int t = 0; t < rij2.length; t++)

moet dan zijn

Code:
for(int t = 0; t <= rij2.length; t++)

ge neemt nu in feite :
t=0
t=1
t=2
t=3

Maar de 5de positie niet want t moet kleiner zijn dan die 5de positie bij jou.

math

Legacy Member
het werkt niet, het blijft maar 4x vragen achter een getal. Ik heb het zelfs eens veranderd door:
for(int t = 7; t <= rij2.length; t++)
maar dat veranderde niets

WHiSPy

Legacy Member
Euh, hebben ze je 't nut van de debugger en breakpoints nog niet uitgelegd? Op die manier ga je immers de nodige fouten kunnen vermijden.

j design

Legacy Member
met andere woorden
import java.io.*;
public en al die dingen

try {
programma die gecontroleerd wordt
}

catch (Exception e) {SOP(e.getMessage);}

En wat ik altijd doe, eerst programma dat werkt, dan naar swing

Jerre Muesli

Legacy Member
alst console werk is; gewoon genoeg system.out.println 's voorzien en kijken waar je programma stopt met uitvoeren.
alst ander soort werk is; log4j ...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan