2012-10-06 7 views
1

Geographic Logic Word Problem을 생성하는 프로그램을 작성하고 있는데 문제가 있습니다. 내 목표는 프로그램이 무작위로 사전 설계된 단어 문제를 생성하도록하는 것입니다. 지금까지 프로그램은 사용자로부터 입력을 받아 Mad Libs와 비슷한 Story 메서드에서 해당 정보를 사용합니다. 어쨌든, 사용자가 프로그램을 시작할 때마다 Story 메서드를 무작위로 선택하여 실행하려고합니다. 지금까지 내가 가지고있는 것입니다 :Java에서 메소드를 임의로 호출하려면 어떻게해야합니까?

import cs1.Keyboard; 
public class LogicProof { 
//Main method 
public void main() { 
    System.out.println ("Enter 1. to start."); 
    System.out.println ("Enter 2. to exit."); 
    int choice = Keyboard.readInt(); 
    if (choice == 1) {   //Take info in and send to createStory 

     //Randomly run methods 

    } 
    if (choice == 2) { 
     System.out.println ("\nGoodbye."); 
    } 
//Create the first story using inputs from main 
private void createStory(String adj,String adj2,String adj3,String action) {    

     //Use values from main() to create a problem 
} 

두 가지 다른 createStory 메서드가 있습니다. 또한 각 문제에 대한 증명을 표시하려고합니다. 각 방법마다 고유 한 증명이 있으므로 동일한 방법에 대한 증명을 표시 할 수 있습니까? 기본적으로 증명 방법과 스토리 방법을 연결하는 것입니까?

나는 Java에 상당히 익숙하며 도움을 주셔서 감사합니다. 미리 감사드립니다.

답변

2

제목에 대해서만 대답하려면 무작위 생성을 반사와 함께 사용할 수 있지만 현재 문제를 어떻게 해결할 수는 없습니다.

임의로 메소드를 호출하지 마십시오. java.util.RandomnextInt()을보고 사용하는 값에 따라 고유 한 작업을 수행하는 데 사용하십시오.

이 글은 숙제와 같아서 여기에 전체 해결책을 제공하지 않습니다.

시작하기에 매우 간단하고 까다로운 구현입니다. 당신은 단지 몇 가지 구체적인 변동이있는 경우

아니면이 :

public class MadLibs { 

    public static String generate(String ... adjectives) { 
     int result = new Random().nextInt(MAX); 
     String madLib = null; 

     switch (result) { 

      case 0: 
       // ... 
       break; 

      case 1: 
       // ... 
       break; 

      default: 
       // ... 
       break;    

     } 

     return madLib;  
    }  

} 
+0

실은 숙제가 아니라, 다른 선생님들과 함께 사용하기 위해 함께 쓰려고하는 것입니다. – Swoldier

+0

@ user1724466 위 내용이 도움이되는지 확인하십시오. – LanguagesNamedAfterCofee

0

을 당신은 Word 또는 Phrase 객체를 생성 List로 채울 수 있습니다.

이 우리에게에서 Random 또는 Math.random 같은 자신 1,2,3,4- 요법에 난수 생성을 사용

+0

어떻게? 하하, 미안하지만, 나는 이것에 대해 처음이야. – Swoldier

1

처럼 위에서 말했다 목록에서 단어 나 구를 당겨 ... 그리고 이렇게 되었 숫자를 매개 변수로 메서드에 추가 한 다음 "if, if else else"문을 사용하여 수행 할 올바른 연산을 선택합니다. 다시 말하지만, 위에서 언급 한 것처럼 실제로 이것이 숙제 문제 인 경우 어떤 코드도 제공하지 않을 것입니다.

+0

좋아요, 방금 전에 말한대로 아이디어를 얻었을 것입니다. 시도해보고 나서 성공하거나 실패한 것을 되돌아 보려고합니다. 감사합니다. – Swoldier

+0

알았어, 예상했던 것보다 훨씬 쉬웠다. 저를 올바른 방향으로 인도합니다. – Swoldier

관련 문제