2014-03-05 4 views
0
import java.util.*; 
import javax.swing.*; 
public class ZhangIDK 
{ 
    public static void main (String[] args) 
    { 
     average (1, 2, 3, 4, 5, 6, 7); 
     least (1, 2, 3, 4, 5); 
     Scanner sc = new Scanner (System.in); 
     System.out.println ("Please enter a number"); 
     int h = sc.nextInt(); 
     System.out.println ("Please enter another number"); 
     int i = sc.nextInt(); 
     power (h, i); 
     System.out.println ("Please enter a number"); 
     int k = sc.nextInt(); 
     System.out.println ("Please enter a word"); 
     String j = sc. nextLine(); 
     repeater (j, k); 

    } 

    public static void average (int a, int b, int c, int d, int e, int f, int g) 
    { 
     int y = a + b + c + d + e + f + g; 
     y/=7; 
     System.out.println ("The average is" +y); 
    } 

    public static void least (int q, int r, int s, int t, int u) 
    { 
     int Smallestnumber = 100; 
     int number = 1; 
     if (number < Smallestnumber) 
     { 
      Smallestnumber = number; 
      number++; 
     } 
     System.out.println("The smallest number is" +Smallestnumber+ "."); 
    } 

    public static void power (int h, int i) 
    { 
     int result = 1; 
     for (int temp = 0; temp < i; temp++) 
     { 
      result *= h; 

     } 
     System.out.println (h); 

    } 

    public static void repeater (String j, int k) 
    { 
     for (int tem = 0; tem < k; tem++) 
     { 
      System.out.println (j + " "); 
     } 

    } 
} 

저는 프로그래밍 초보자이고 선생님이 우리에게 이러한 방법 연습 문제를 할당했습니다.입력 숫자를 힘으로 올리기; 반복 단어들; 들어가는 단어

첫 번째 방법에서는 미리 선언 된 평균 7 개의 숫자를 찾는 것으로 가정했습니다.

두 번째 방법에서는 미리 선언 된 5 개의 번호 중에서 가장 작은 번호를 찾는 것으로 가정했습니다.

세 번째 방법에서는 사용자가 두 개의 숫자를 입력 할 수 있도록 허용하여 프로그램이 첫 번째 숫자를 두 번째 숫자의 제곱으로 올릴 수 있도록했습니다. 예를 들어, 사용자가 2와 4를 입력하면 프로그램은 SOP 2^4가 16이됩니다.

네 번째 방법에서는 단어와 숫자를 입력 할 수 있도록 허용하고 프로그램은 수만큼 단어를 비교하십시오. 예를 들어 사용자가 입력 BOB 2, 프로그램은 BOB BOB

을 SOP한다

내 문제는 마지막 방법입니다, 질문은 "단어를 입력하십시오"하지만 프로그램이 늘 저를 입력 할 수 있도록 요청하는 팝업됩니다 그래서 내 코드가 작동하는지 확인할 방법이 없습니다. 내가 한 단어를 입력 할 수 있도록 코드를 얻으려면 어떻게해야합니까?

+0

전원 방법에 대해 잘못된 정보를 인쇄하고 있습니까? 나는 h 대신에 결과를 출력해야한다고 생각한다. –

+0

감사합니다 !!!! 나는 그런 바보 같았다! 나는 결과를 인쇄해야했다! 정말 고마워! – Sarah

답변

0

최소 메서드를 잘못 수행 했으므로 최소한의 메서드는 매개 변수로 취한 각 값과 비교해야합니다. 작은 번호을 첫 번째 값으로 할당하면 시작할 수 있습니다. q이라고 가정하고 가장 작은 숫자와 다른 값을 비교해보십시오. 값이 인 최소 번호보다 작 으면 의 최소 번호에 비교 값의 값을 할당합니다. 귀하의 의견을 수용하지 않는 단어를 입력하십시오 이유에 관해서는

입니다, 당신은 잘못하지 sc.nextInt()을 요구하고 있지만, 메소드 이름이 말한대로 다음 정수를 읽고, 것 나머지 줄은 무시하십시오. 따라서 sc.nextline()은 스캐너 버퍼 (줄 바꿈 문자)에 남아있는 것을 허용하고있을 것입니다. 이 문제를 해결하려면 모든 sc.nextInt()sc.nextline()를 삽입 시도하거나 사용 sc.nextline()를 모든 정수 입력 및 이후 정수로 그들을 구문 분석합니다.