2014-03-13 5 views
0

나는 프로젝트를 수행하고 있으며 소수점부터 소수점까지 내 변환기에 어떤 문제가 있는지 알고 싶습니다. 그리고 그것은 방법으로 끝나야합니다. 대신 코드로,자바의 십진법 변환기에서 내 소수점 이하 자릿수를 알아 내고 싶습니다.

import java.util.*; 

    public class Fraction { 
      method(); 

     } 
    public void method() { 
      Scanner sc = new Scanner (System.in); 

      System.out.println("Please enter the numerator: "); 
      double numerator = sc.nextInt(); 
      System.out.println("Please enter the Denominator: "); 
      double denominator = sc.nextInt(); 
      if (denominator == 0) { 
       System.out.println("Can't divide by zero"); 
      } 
      else { 
       double fraction = (double)numerator/denominator; 
       System.out.println(fraction); 
      } 
    } 

이 시도 :

import java.util.Scanner; 

public class Fraction 
{ 
    public static void main(String args[]) 
    { 
     Scanner input = new Scanner(System.in); 

     int numerator, int denominator, result; 
     System.out.println ("Please enter the numerator: "); 
     num = input.nextInt(); 
     System.out.println ("Please enter the denominator: "); 
     den = input.nextInt(); 
     result = double(numerator/denominator); 
    } 

    public static int double(int x) 
    { 
     if (denominator == 0){ 
      System.out.println ("Can't divide by zero"); 
     } 
     else { 
      double fraction = (double)numerator/denominator; 
      System.out.println(fraction); 
     } 
    } 
} 
+0

무엇 ? 예상되는 결과는 무엇입니까? – Mauren

+0

사용자가 분자를 입력하고 분모를 입력하고 싶습니다. 그 숫자에서 double을 만들고 그 분수의 십진수를 계산하십시오. – ZacharyRW

+3

분자와 분모가 매개 변수가 아니라 주 메뉴에 국한되어 있기 때문에 컴파일하지 않는 것으로 추측합니다. –

답변

-1

이 작동합니다 : 당신이 얻고있는 결과가

public static void main(String args[]) 
{ 
    Scanner input = new Scanner(System.in); 

    int num, den; 
    System.out.println ("Please enter the numerator: "); 
    num = input.nextInt(); 
    System.out.println ("Please enter the denominator: "); 
    den = input.nextInt(); 
    if (den != 0){ 
    System.out.println ("Decimal is " + convert (num, den)); 
    } 
    else 
    System.out.println ("Cant divide by zero");  

} 

public static double convert(int x, int y) 
{   
     return ((double)x/y);   
} 
+0

왜 downvote? – Noob

+0

좋습니다. 작동했지만 문제가 하나 있습니다. 임무를 위해 그들은 프로그램을 끝내고 나면 두 부분을 나에게 줬다. 나는 2의 분모, 5의 분모를 시도했다. 내가 가지고있는 논문은 0.400000이되어야한다고 말했지만 단지 0.4로 나왔다. 또한 분수 2/3 대신에 0.666667을주었습니다. 0.666666666 – ZacharyRW

+0

이 있습니다. 그 답을 얻으려면 그 답을 얻기 위해 바꿔야 할 것이 있습니다. – ZacharyRW

0

이 시도

import java.util.Scanner; 

public class Fraction 
{ 
    public static void main(String args[]) 
    { 
     Scanner input = new Scanner(System.in); 

     int numerator, int denominator, result; 
     System.out.println ("Please enter the numerator: "); 
     num = input.nextInt(); 
     System.out.println ("Please enter the denominator: "); 
     den = input.nextInt(); 
     result = double(numerator/denominator); 
    } 

    public static int doublenumber(int x) // you can't use double only because it is reserved word in java. 
    { 
     if (denominator == 0){ 
      System.out.println ("Can't divide by zero"); 
     } 
     else { 
      double fraction = (double)numerator/denominator; 
      System.out.println(fraction); 
     } 
    } 
} 
+0

그 문제는이 과제에 대한 방법을 사용해야한다는 것입니다. double을 사용하면 간단히 – ZacharyRW

+0

을 메서드에 넣고 메서드를 호출하면됩니다. 2 초 동안 기다리면 답변이 업데이트됩니다. – Seeker

+0

컴퓨터 앞에서가 아니라 형식에 대해 불쌍하게 생각합니다. 따라서 올바르게 테스트/포맷 할 수는 없습니다. 시도해보고 작동하는지 알려주세요. – Seeker

관련 문제