可以使用一个变量的值来选择一个已经定义的同名变量吗?

  • 本文关键字:变量 一个 定义 可以使 选择 java
  • 更新时间 :
  • 英文 :


我正在尝试为我的AP统计课做一些尝试,我需要从一首歌的歌词中随机选择五个单词,并计算这些字符串的平均长度。这是我到目前为止的内容:(有297个歌词,但我不想把它们都打出来,如果它不起作用的话)

String n001 = "I";
String n002 = "look";
String n003 = "and";
String n004 = "stare";
String n005 = "so";

Random bob = new Random();

String num_1 = String.format("%03d", bob.nextInt(298)); 
System.out.println(num_1);
String num_2 = String.format("%03d", bob.nextInt(298)); 
System.out.println(num_2);
String num_3 = String.format("%03d", bob.nextInt(298)); 
System.out.println(num_3);
String num_4 = String.format("%03d", bob.nextInt(298)); 
System.out.println(num_4);
String num_5 = String.format("%03d", bob.nextInt(298)); 
System.out.println(num_5);

String num1 = "n" + num_1; 

我不能弄清楚的是如何在num1中取值来选择一个命名为相同事物的字符串。我需要对所有五个选定的随机数都这样做。

我肯定有办法做到这一点,但这是我第一年上计算机科学课,我似乎在任何地方都找不到答案。

我有个建议。

  • 将所有单词放到List
    (例如:List<String> = new ArrayList<>())
  • 使用Collections.shuffle对列表进行洗牌
  • 然后取前5个条目

这样做可以保证你不会重复任何单词,除非列表中有重复的单词。

计算如何平均长度取决于你。


package RandomLyric;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RandomLyric 
{
public static void main(String[] args) 
{
List<String>bob = new ArrayList<>();

bob.add("I");
bob.add("look");
bob.add("and");
bob.add("stare");
bob.add("so");
bob.add("deep");
bob.add("in");
bob.add("your");
bob.add("eyes");
bob.add("I");
bob.add("touch");
bob.add("on");
bob.add("you");
bob.add("more");
bob.add("and");
bob.add("more");
bob.add("every");
bob.add("time");
bob.add("when");
bob.add("you");
bob.add("leave");
bob.add("I'm");
bob.add("begging");
bob.add("you");
bob.add("not");
bob.add("to");
bob.add("go");
bob.add("call");
bob.add("your");
bob.add("two");
bob.add("or");
bob.add("three");
bob.add("times");
bob.add("in");
bob.add("a");
bob.add("row");
bob.add("Such");
bob.add("a");
bob.add("funny");
bob.add("thing");
bob.add("for");
bob.add("me");
bob.add("to");
bob.add("try");
bob.add("to");
bob.add("explain");
bob.add("how");
bob.add("I'm");
bob.add("feeling");


Collections.shuffle(bob);
java.util.Iterator<String> itr=bob.iterator();
String num1_ = itr.next();
double num1 = num1_.length();
System.out.printf( num1_ + ": %.0f",+ num1);
System.out.println("");

String num2_ = itr.next();
double num2 = num2_.length();
System.out.printf( num2_ + ": %.0f",+ num2);
System.out.println("");

String num3_ = itr.next();
double num3 = num1_.length();
System.out.printf( num3_ + ": %.0f",+ num3);
System.out.println("");

String num4_ = itr.next();
double num4 = num4_.length();
System.out.printf( num4_ + ": %.0f",+ num4);
System.out.println("");

String num5_ = itr.next();
double num5 = num5_.length();
System.out.printf( num5_ + ": %.0f",+ num5);
System.out.println("");

double avg = (num1 + num2 + num3 + num4 + num5)/5;
System.out.println("The length of the five randomly selected strings is: " + avg);






}
}

谢谢! !我现在都明白了!

最新更新