Afficher d'une maniere differente

Bonjour,

Je suis en train de creer un programme qui permet de distinguer les nombre premier entre le nombre x (Que l'utilistateur va taper) et le nombre y (que l'utilisateur va aussi taper) J'ai pu recevoir les reponses, mais je ne sais pas comment les afficher de la maniere dont j'aimerais le faire. Ils doivent s'afficher comme ceci.


Voici ce que j'ai jusqu'a present:
package evaluationsommativeapplicationsconsoles;
import java.util.*;
public class EvaluationSommativeApplicationsConsoles {
public static void main(String[] args) {
    
  
    java.text.NumberFormat nf = new java.text.DecimalFormat("0000");
    
    System.out.println("Premier Chiffre: ");
    Scanner premchiffre = new Scanner(System.in);
    int intPremierChiffre = premchiffre.nextInt();
    
    System.out.println("Dernier Chiffre: ");
    Scanner dernchiffre = new Scanner(System.in);
    int intDernierChiffre = dernchiffre.nextInt();
    
    while (intPremierChiffre != (intDernierChiffre + 1)){
        
        boolean pasunnombrepremier =  (intPremierChiffre % 2 == 0 && intPremierChiffre != 2) || (intPremierChiffre % 3 == 0 && intPremierChiffre != 3) || (intPremierChiffre % 4 == 0 && intPremierChiffre !=4) || (intPremierChiffre % 5 == 0 && intPremierChiffre != 5) || (intPremierChiffre % 6 == 0 && intPremierChiffre != 6) || (intPremierChiffre % 7 == 0 && intPremierChiffre != 7) || (intPremierChiffre % 8 == 0 && intPremierChiffre != 8) || (intPremierChiffre % 9 == 0 && intPremierChiffre != 9 || intPremierChiffre == 1);
      
        if (pasunnombrepremier){
        }
        
        else {
        System.out.println(nf.format(intPremierChiffre));}
        intPremierChiffre++;}

    }
}

Cree en utilisant Netbeans!
Donc je veux que...
1ère ligne a une réponse,
2e a 2 réponses
3 a 3 réponses
4 a 4
5e a 3
6 a 2
7 a 1
8ème a 2
etc.

Merci d'avance!

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,

    Pour ton affichage, au lieu de faire des System.out.println() pour chaque nombre tu dois alterner des print et des println pour pouvoir écrire plusieurs nombres sur la même ligne.

    System.out.print(nf.format(intPremierChiffre));
    if (finDeLaLigne)
        System.out.println();
    else
        System.out.print(" ");

    Remarque : si tu prends 0 et 131 comme dans l'exemple, ton programme va afficher 121 alors que ce n'est pas un nombre premier (121 = 11x11).
    La confiance n'exclut pas le contrôle
    1. Comment puis-je dire la condition fin de la ligne? Desole, je suis vraiment nouveau a la programmation
    2. @nonMon dieu, j'ai essaye d'impliquer sa mais j'ai pas pu. Peux tu le mettre dans mon code pour que j'y comprenne?
    3. Modérateur
      Il suffit de compter le nombre d'éléments que tu affiches au fur et à mesure, et de faire les sauts de ligne au bon moment (après l'affichage du 1er, 3è, 6è, 10è nombre...)
    4. @KXComment puis-je complter le nombre d'elements qui ont ete affiche?