Forum Clubic

Saisi numéro s'arrête pas

bonjour

en exécutant mon programme, saisi des numéros s’arrête pas;
il dépasse plus 5 numéros,comment je dois arrêter la saisi svp

le bute de programme est faire saisir les éléments du tableau et les afficher.*

veuillez m’aidez svp

voilà mon prgrame :


package TryObjet;
import java.util.Scanner;
public class TabVar 
{
 int max=5;
 int taille;
 int[] tab;
 
 public TabVar(int taille,int[] tab2)
 {
	this.taille=taille;
	this.tab=tab2;
 }
public int[] saisi() 
{
	Scanner sc=new Scanner(System.in);
	for(int i=0;i<tab.length-1;i++)
	{
		System.out.println("Saissisez un numéro : ");
		tab[i]=sc.nextInt();
	}
	return saisi();
}
}

package TryObjet;
public class TestTabVar 
{
	public static void main(String[] args) 
	{	
		int max=5;
		int tab[]=new int[max];
		TabVar toto=new TabVar(5,tab);
		System.out.println(toto.saisi());
	}
}

[code]
Edité le 23/09/2016 à 11:51

j’ai corrigé mon programme et maintenant,
Quand je l’ai exécuté,
dans mon output il y un mot bizarre s’ affiche ,voilà ceci " [b][I@6750cf54 [/b]"
que signifie t’il et comment l’enlever ce mot, veuillez m’aidez svp

voilà mon output:
Saissisez un numéro : 4
Saissisez un numéro : 5
Saissisez un numéro : 6
Saissisez un numéro : 7
Saissisez un numéro : 8
[I@6750cf54
4, 5, 6, 7, 8, [I@6750cf54

le bute de programme est faire saisir les éléments du tableau et les afficher.


import java.util.Scanner;
public class TabVar 
{
 int max=5;
 int taille;
 int[] tab;
 
 public TabVar(int taille,int[] tab2)
 {
	this.taille=taille;
	this.tab=tab2;
 }
public int[] saisi() 
{
	Scanner sc=new Scanner(System.in);
	for(int i=0;i<tab.length;i++)
	{
		System.out.print("Saissisez un numéro : ");
		tab[i]=sc.nextInt();
	}
	return tab;
}
public int[] afficher() 
{
	for(int i=0;i<tab.length;i++)
	{
		System.out.print(tab[i]+", ");
		
	}
	return tab;
}
}

public class TestTabVar 
{
	public static void main(String[] args) 
	{	
		int max=5;
		int tab[]=new int[max];
		TabVar toto=new TabVar(5,tab);
		System.out.println(toto.saisi());
		System.out.println(toto.afficher());
	}
}

Edité le 23/09/2016 à 12:13

Bonjour,

Le [I@6750cf54 c’est le résultat d’un toString() sur un tableau, eg: quand tu fais appel à println, alors il appelle toString() sur l’objet passé en paramètre pour le convertir.

Tente:

System.out.println(Arrays.toString(toto.saisi()));
System.out.println(Arrays.toString(toto.afficher()));