2017-11-30 4 views
0

주어진 수의 평균을 구한 다음 나에게 주어진 수의 수로 나눈 다음 평균에 3 자리 10 진수가 있어야합니다. 45.0의는 45.000 것 및 광산은 작동하지만 마지막 숫자가 0이중 3 자리 10 진수 인쇄

import java.util.Scanner; 
import static java.lang.System.*; 

public class Average 
{ 
    private String line; 
    private double average, sum, count; 

    public Average() 
    { 
    setLine(""); 
    } 

    public Average(String s) 
    { 
    setLine(s); 
    } 

public void setLine(String s) 
{ 
    line = s; 
    sum = 0.0; 
    count = 0.0; 
    average = 0.0; 
} 

public double getCount() 
{ 
    int num = 0; 
    while(num<line.length()) 
    { 
    if(line.charAt(num) == 32) 
    { 
     count ++; 
     num ++; 
    } 
    else 
     num ++; 
    } 
    count ++; 
    return count; 
} 

public double getSum() 
{ 
    Scanner bobby = new Scanner(line); 
    while(bobby.hasNextInt()) 
    sum = sum + bobby.nextInt(); 
    return sum; 
} 

public double getAverage() 
{ 
    average = getSum()/getCount(); 
    average = average*1000; 
    if(average%10>4) 
    { 
    average = Math.floor(average); 
    average ++; 
    average = average/1000.0; 
    } 
    else 
    { 
    average = Math.floor(average); 
    average = average/1000.0; 
    } 
    return average; 
    } 

public String getLine() 
{ 
    return line; 
} 

public String toString() 
{ 
    return ""; 
} 
} 

가 아닌 경우에만이

import java.util.Scanner; 
import static java.lang.System.*; 

public class AverageRunner 
{ 
    public static void main(String args[]) 
    { 
    String s = "9 10 5 20"; 
    Average bob = new Average(s); 
    System.out.println("Find the average of the following numbers :: "+s); 
    System.out.println("Average = " + " " + bob.getAverage()); 
    System.out.println(); 

    s = "11 22 33 44 55 66 77"; 
    Average bob1 = new Average(s); 
    System.out.println("Find the average of the following numbers :: "+s); 
    System.out.println("Average = " + " " + bob1.getAverage()); 
    System.out.println(); 

    s = "48 52 29 100 50 29"; 
    Average bob2 = new Average(s); 
    System.out.println("Find the average of the following numbers :: "+s); 
    System.out.println("Average = " + " " + bob2.getAverage()); 
    System.out.println(); 

    s = "0"; 
    Average bob3 = new Average(s); 
    System.out.println("Find the average of the following numbers :: "+s); 
    System.out.println("Average = " + " " + bob3.getAverage()); 
    System.out.println(); 

    s = "100 90 95 98 100 97"; 
    Average bob4 = new Average(s); 
    System.out.println("Find the average of the following numbers :: "+s); 
    System.out.println("Average = " + " " + bob4.getAverage()); 
} 
} 
+0

2 개 대신 3 개만 ... – azurefrog

+0

정확히 무엇이 질문입니까? 귀하의 코드는 무엇을하고 무엇을하고 싶습니까? 무엇이 남았나? 너 스스로 어려움을 겪고있는 곳? 너 혼란스러워? – Zabuza

답변

1

사용 DecimalFormat 내 주자 파일입니다

DecimalFormat df = new DecimalFormat("#.000"); 
System.out.println("Nummber: " + df.format(1.2345)); 
+0

어떻게 bob.getAverage를 말하는 것이기 때문에 나는 bob.df.format.getAverage를 할 것이므로 어떻게 써야할까요? –

+0

bob.getAverage()를 df # 형식 (문자열)으로 전달하십시오. – Gianlu