2016-07-31 152 views
1

我想在这里发生的是让用户输入“开始”。如果用户输入开始,则程序必须给出数组中的随机单词,然后要求用户输入“下一个”,当用户输入“下一个”时,程序给出另一个随机单词,然后程序要求“下一个”再次输入,等等......你明白了。我想我的声明重新执行,如果条件,如果遇到错误

这里是一些代码,我认为会产生这种效果,但它是所有打印“类型开始看到一个酷字” 用户输入“开始” 然后程序返回任何内容。

任何意见,将不胜感激,如果你能告诉我为什么我的代码这样做,我会非常感激,因为这样我可以从中学习。 感谢

这里是我写的代码:

import java.util.Scanner; 
import java.util.Random; 
public class Words { 
    public static void main(String[]args){ 


     Scanner scan = new Scanner(System.in); 
     String words[] = {"Iterate:","Petrichor:"}; 
     String input = ""; 

     System.out.println("type *start* to see a cool word"); 
     input = scan.nextLine(); 

     while(!input.equals("start")){ 
     String random = words[new Random().nextInt(words.length)]; 
     System.out.println(random); 
     System.out.println(); 
     System.out.println("type *next* to see another cool word"); 
     while(input.equals("next")); 
     } 
    } 
} 

回答

1

你想换你的输入读取一个循环:

import java.util.Scanner; 

import java.util.Random; 
public class Words { 
    public static void main(String[]args){ 
    Scanner scan = new Scanner(System.in); 
    String words[] = {"Iterate","Petrichor"}; 
    String input = ""; 

    while (!input.equals("start")) { 
     System.out.println("type *start* to begin"); 
     input = scan.nextLine(); 
    } 

    String random = (words[new Random().nextInt(words.length)]); 
    } 
} 

注意,在你的具体的例子循环条件作品你的if语句,所以不需要if语句。

更新

如果你需要保持这种运行时,用户类型接下来你可以用里面的一切一做... while循环,因此至少执行一次:

进口java.util中。扫描器;

import java.util.Random; 
public class Words { 
    public static void main(String[]args){ 
     Scanner scan = new Scanner(System.in); 
     String words[] = {"Iterate","Petrichor"}; 
     String input = ""; 
     do { 
     do { 
      System.out.println("type *start* to begin"); 
      input = scan.nextLine(); 
     } while (!input.equals("start")); 

     String random = (words[new Random().nextInt(words.length)]); 
     System.out.println("type *next* to repeat"); 
     input = scan.nextLine(); 
     } 
    } while (input.equals("next")); 
} 
+0

谢谢你。工作得很好。我真的没有想到使用!因此如果输入不是“开始”,则while循环检查是真实的。 – CapnCoin

+0

我很高兴你发现它有帮助,请尽可能将此答案标记为已接受。 – valarauko

+0

所以添加到这个问题。如果我想让这个用户输入“next”来再次运行整个程序,那么你会怎么做? – CapnCoin