在表格列上打印随机单词的代码

时间:2018-06-30 16:41:14

标签: java

应在图片的任意四个不同列上随机打印cs的代码

Android

Androids

执行此操作的代码应在任意四列随机打印cs

public static void main(String args[]) throws IOException
{

    BufferedWriter bw = null;        
    FileWriter fw = null; 

    try 
    {           
        fw = new FileWriter("F:\\Android.html");
        bw = new BufferedWriter(fw);

                    String Word = "Android";                        

                    String[] Words = new String[4];
                    Words[0] = "CS";
                    Words[1] = "";
                    Words[2] = "";
                    Words[3] = "";                         

                    List<String> Android = Arrays.asList(Words);
                    Collections.shuffle(Android);

                    bw.write("<Table align ='center' border = '4'>");   
                    bw.write("<TR>"); 

                    bw.write("<TD width='45'>");                      
                    bw.write(Android.toString());                                
                    bw.write("</TD>");                         

                    bw.write("<TD width='45'>");                      
                    bw.write(Android.toString());                                
                    bw.write("</TD>");                        

                    bw.write("<TD width='45'>");                      
                    bw.write(Android.toString());   
                    bw.write("</TD>");

                    bw.write("<TD width='45'>");                      
                    bw.write(Android.toString());                         
                    bw.write("</TD>");                        

                    bw.write("<TD width='45'>");                      
                    bw.write(Android.toString());                         
                    bw.write("</TD>");   

                    bw.write("</TR>");    
                    bw.write("<Table>");  
                    } 

代码打印

enter image description here

一些配置更改应对此进行排序

2 个答案:

答案 0 :(得分:1)

尝试替换以下四个重复的块:

bw.write("<TD width='45'>");                      
bw.write(Android.toString());                                
bw.write("</TD>");                        

具有:

for(String cell: Android) {
     bw.write("<TD width='45'>");                      
     bw.write(cell);                                
     bw.write("</TD>");                        
}

您的问题是将整个列表写入每个单元,而不是每个单元仅写入一个元素。

顺便说一句,我建议您为字符串列表选择比Android更具描述性的名称,并且Java中的约定是以小写字母开头的变量名称。 (大写名称通常为类保留。)

答案 1 :(得分:1)

尝试这个

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Snippet {
    public static void main(String... args) {
        String filePath = "E:\\Android.html";
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
            String Word = "Android";
            String[] Words = new String[4];
            Words[0] = "CS";
            Words[1] = "";
            Words[2] = "";
            Words[3] = "";
            List<String> Android = Arrays.asList(Words);
            Collections.shuffle(Android);
            bw.write("<Table align ='center' border = '4'>");
            bw.write("<TR>");
            bw.newLine();
            for (String str : Android) {
                bw.write("<TD width='45'>");
                bw.write(str);
                bw.write("</TD>");
                bw.newLine();
            }
            bw.write("</TR>");
            bw.write("<Table>");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  

输出

运行1

Run 1

运行2

Run 2