A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邵震 高级黑马   /  2013-4-3 17:06  /  1718 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邵震 于 2013-4-3 22:38 编辑

我想把java用到的英文单词输入进数组里储存 然后打乱顺序打出来 好让我练习


最好每个单词能附上对应的中文翻译


单词我自己输入 你们帮我打代码  告诉我这么加进去 就行了  谢谢了

类似

class  类


static 静态

5 个回复

倒序浏览
本帖最后由 似水像火 于 2013-4-3 17:32 编辑
  1. import java.util.*;
  2. import java.lang.*;

  3. public class Main
  4. {
  5.         public static void main(String[] aegs)
  6.         {
  7.                 Scanner cin = new Scanner(System.in);
  8.                 final int  sum;
  9.                 String[] Danci = new String[10000];
  10.                 boolean[]  Flag = new boolean[10000];
  11.                 String tmp;
  12.                 int count = 0, t;
  13.                 while(cin.hasNext())
  14.                 {
  15.                         tmp = cin.next();
  16.                         Danci[count] = tmp;
  17.                         count ++;
  18.                 }
  19.             sum=count;
  20.             
  21.                 for(int i=2;;i++)
  22.                 {
  23.                         t = (int)(Math.random()* i+count/2)%sum;
  24.                         if(Flag[t]==false)
  25.                         {
  26.                                 count--;
  27.                                 Flag[t]=true;
  28.                                 System.out.println(Danci[t]);
  29.                         }
  30.                         if(count==0)break;
  31.                 }
  32.                
  33.         }

  34. }
复制代码
代码献上..
希望能满足要求吧....一种比较差的写法...最多支持10000个单词而且还可以重复...想用Set --->List||queue 但是技术不够
还有截图

P{])K`DO(FBTX}T1PMIJBK9.jpg (19.53 KB, 下载次数: 17)

P{])K`DO(FBTX}T1PMIJBK9.jpg

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
似水像火 发表于 2013-4-3 17:31
代码献上..
还有截图

赞啊 哥们  谢谢了
回复 使用道具 举报
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. public class Main
  5. {
  6.         public static void main(String[] aegs)throws IOException
  7.         {
  8.                 Scanner cin = new Scanner(System.in);
  9.                 TreeSet<String> TS = new TreeSet<String>();
  10.                 FileReader fr = new  FileReader("H:\\JAVA\\java3\\18\\11.txt");
  11.                
  12.                 BufferedReader  Br = new BufferedReader(fr);
  13.                 String s = null;
  14.                 int count = 0, sum, t;
  15.                 while((s=Br.readLine())!=null)
  16.                 {
  17.                         
  18.                         TS.add(s);
  19.                 }
  20.                 while(cin.hasNext())
  21.                 {
  22.                         s = cin.next();
  23.                         s = s.toLowerCase();
  24.                         TS.add(s);
  25.                 }
  26.                 FileWriter fw1 = new  FileWriter("H:\\JAVA\\java3\\18\\11.txt");
  27.                 FileWriter fw2 = new  FileWriter("H:\\JAVA\\java3\\18\\12.txt");
  28.                 BufferedWriter Bw1 = new BufferedWriter(fw1);
  29.                
  30.                 Iterator It = TS.iterator();
  31.                 sum = TS.size();
  32.                 String[] Danci = new String[sum];
  33.                 boolean[] Flag = new boolean[sum];
  34.                 while(It.hasNext())//把所有的单词保存到指定文件之中
  35.                 {
  36.                         s = It.next().toString();
  37.                         Danci[count++]=s;
  38.                         Bw1.write(s);
  39.                         Bw1.newLine();
  40.                         Bw1.flush();
  41.                 }
  42.                  BufferedWriter Bw2 = new BufferedWriter(fw2);
  43.                  for(int i=2;;i++)
  44.              {
  45.                      t = (int)(Math.random()* i+count/2)%sum;
  46.                      if(Flag[t]==false)
  47.                      {
  48.                              count--;
  49.                              Flag[t]=true;
  50.                              Bw2.write(Danci[t]);
  51.                              Bw2.newLine();
  52.                              Bw2.flush();
  53.                              System.out.println(Danci[t]);
  54.                      }
  55.                      if(count==0)break;
  56.              }
  57.                  fr.close();
  58.                  Br.close();
  59.                  Bw1.close();
  60.                  Bw2.close();
  61.                  System.out.println("over");
  62.                
  63.         }

  64. }
复制代码
我说一下注意事项啊....否则错了我不保证啊...
一定要保证你的连个文件存在,一定要啊...否则会异常的,
H:\\JAVA\\java3\\18\\11.txt//用来保存单词的的txt文本
H:\\JAVA\\java3\\18\\12.txt//用来保存无序单词的txt文本
能够添加,但是不能删除...
能够去重 YES  Yes yes 只能存储一个...
望满足要求..
over是用来标记程序运行结束...


评分

参与人数 2技术分 +1 黑马币 +30 收起 理由
黄玉昆 + 1
邵震 + 30 似水 谢谢啦

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
这个哥们怎么技术分猛涨到35了···
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马