2016-02-26 4 views
0

J'ai essayé de coder ceci, pour incrémenter l'entrée de l'utilisateur de 33 si l'entrée est "31" ou plus jusqu'à l'entrée ou "90", et j'ai frappé un mur où je veux utiliser l'entrée de l'utilisateur de la matrice, mais je ne peux pas. Quelqu'un pourrait-il aider? Je vous remercie.Comment utiliser le paramètre précédent de la matrice dans la boucle

if (choice.equals("R")) { 
    System.out.println("You have selected to draw a Rectangle!"); 
    System.out.println("Please enter the Height and Width of the rectangle that is within 30cm - 90cm: "); 
    int[] array = new int[2]; 
    int[] array2 = new int[2]; 
    Scanner scan = new Scanner(System.in); 

    String line1 = scan.nextLine(); 
    String[] numbers1 = line1.split(" "); 
    for(int i=0;i<numbers1.length;i++){ 
     array[i] = Integer.parseInt(numbers1[i]); 
    } 

Je suis en train de faire une méthode pour pouvoir appeler facilement à plus tard, mais c'est le problème que je ne peux pas terminer mon calcul.

public static void timeTurn (int a, int b) { 

    for(int i = 1000; i < 3001; i+= 33) { 

     if(numbers1.equals(>=30)) { 

     } 
    } 
} 
+0

passer le tableau dans votre fonction? 'public static void timeTurn (int a, int b, chaîne [] numéros1) {'. Ce n'est pas clair ce que vous demandez ici. – ebyrob

+0

J'essaie de convertir cm en millisecondes (1000 à 3000), et je pense que faire une méthode rendrait l'appel le plus facile. Par exemple, si l'utilisateur entre "60" je veux que la méthode incrémente les 1000 millisecondes de 33 jusqu'à 2000 est atteint; si ça a du sens. – Daniel

+1

Cela ne me semble pas logique de convertir une unité de distance en unité de temps. Cependant, si vous pouvez écrire le code complet en ligne sans une fonction dans votre exemple, veuillez le faire et peut-être que nous pouvons vous aider à le transformer en une fonction. – ebyrob

Répondre

0
  1. int[] array2 = new int[2]; est inutile ici. Par ailleurs, ne nommez pas une variable "tableau" ou "tableau2". C'est difficile à comprendre pour les autres et pour soi-même dans le futur. Si vous avez défini la longueur du "tableau" sur 2, alors la boucle for(int i=0;i<numbers1.length;i++){...} est sans signification car vous avez déjà défini que vous ne pouvez avoir que deux entiers dans ce tableau.
  2. Je ne connais pas le sens de "convertir cm en millisecondes" puisque l'un est la distance et l'autre est le temps ...
  3. Je ne comprends pas (int a, int b) ce que "a", "b" signifie. par ma compréhension du second code devrait être:


public static void timeTurn (int[] length) { 
    int minMillsecond = 1000; 
    int maxMillsecond = 3001; 
    int gap = 33; 
    for(int len : length){ 
     if (30 <= len <= 90){ 
      len += minMillsecond; 
      while(len < 3000){ len+=gap;} 
      print len; 
     } 
    } 
}