2017-04-15 108 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