2017-04-15 120 views
0

我想獲得所有的num值並打印到(......)但我無法做到這一點。你能幫我嗎?從for循環獲取值?

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Scanner keyboard = new Scanner(System.in); 
    int operands,num; 
    int q=1; 
    int a=0; 

    do 
    { 
     System.out.println("Enter the number of operands (in range 2-10):"); 
     operands=keyboard.nextInt();    
    } while ((operands<2) || (operands>10)); 

    for (int number=1; number<=operands; number++) 
    { 
     System.out.println("Enter number "+number+":"); 
     num=keyboard.nextInt(); 
     q=q*num; 
    } 

    System.out.print("Multiplication of numbers "+(.......)+" is: "+q); 
+2

你必須比這更具體。 –

+0

輸入操作數的數目(在範圍2-10):輸入數字1:輸入號碼2:輸入號碼3:數乘法是:6000,這是是輸出,但我期望數字20 30 10乘以:6000 –

回答

1

使用您的循環之前宣佈額外的字符串變量:

String numbers=" "; 

,並添加到它的循環體:

numbers += num+" "; 

然後打印出該字符串中的位置(.......)

+0

假設這是一個正確的解決方案。 (+1) –

2

我喜歡FranzKnut的回答,但如果表現是一個問題,即使它不是,那麼ple請考慮使用字符串生成器來代替。

循環使用

StringBuilder sb = new StringBuilder("my numbers are: "); 

之前在循環內部添加以下代碼。

sb.append(num); 

然後在循環結束時,您有類似

System.out.println(sb.toString()); 
+0

字符串生成器當然應該走的路 – FranzKnut

+0

我可以一個一個地得到這些數字的方式是什麼。不按順序 –

0

只需添加一個字符串到程序和CONCAT新增加的數字。最後打印字符串,你必須打印。

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Scanner keyboard = new Scanner(System.in); 
    int operands, num; 
    int q = 1; 
    int a = 0; 
    String s = " "; 
    do { 
     System.out.println("Enter the number of operands (in range 2-10):"); 
     operands = keyboard.nextInt(); 
    } while ((operands < 2) || (operands > 10)); 


    for (int number = 0; number <= operands - 1; number++) { 
     System.out.println("Enter number " + number + ":"); 
     num = keyboard.nextInt(); 
     s = s + num; 
     q = q * num; 
    } 



    System.out.print("Multiplication of" + s + " numbers is: " + q); 
} 
0

確定在這裏你有

import java.util.ArrayList; 
import java.util.List; 
import java.util.Scanner; 

public class Numbers { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     Scanner keyboard = new Scanner(System.in); 
     int operands,num; 
     int q=1; 
     int a=0; 
     List<Integer> numbers = new ArrayList<Integer>(); 
     int newNumbers = 1; 

     do 
     { 
      System.out.println("Enter the number of operands (in range 2-10):"); 
      operands=keyboard.nextInt();   

     } while ((operands<2) || (operands>10)); 

     for (int number=1; number<=operands; number++) 
     { 
      System.out.println("Enter number "+number+":"); 
      num=keyboard.nextInt(); 
      q=q*num; 
      numbers.add(num); 
     } 
     StringBuilder newTextNumber = new StringBuilder(""); 
     for(Integer s: numbers){ 
      newTextNumber.append(s).append(" "); 
      newNumbers *= s; 
     } 


     System.out.print("Multiplication of numbers "+newTextNumber+" is: "+newNumbers); 
    } 
} 

Enter the number of operands (in range 2-10): 
3 
Enter number 1: 
20 
Enter number 2: 
30 
Enter number 3: 
10 
Multiplication of numbers 20 30 10 is: 6000 
+0

我可以一個一個地得到這些數字的方式是什麼。 (Integer s:numbers){ newTextNumber.append(s).append(「」);而不是按照 –

+0

的順序。 newNumbers * = s; } – Yussef