1.通过控制台输入选项实现文件的新建、删除、复制、移动 要求能输入文件名和路径
2.从1-30中随机选7个数,要求:不放回抽样

解决方案 »

  1.   

    第一个:第一个有很多方法,想删除,复制,,但你说的通过控制台输入本人没不知道你想表达的是什么意思,所以不好回答
    第二个:
    public calss Test
    {
        public static void main(String[] args)
        {
            int[] num=new int[7];
            for(int i=0;i<num.length;i++)
            {
                result[i] = (int)(Math.random()*35+1);
             for(int j=0;j<i;j++){
     if(result[i] == result[j])
                     {
         i--;
         break;
    }
    }
            for(int i=0;i<result.length;i++)
            {
        System.out.println(result[i]+" ");
    }
        }
    }
      

  2.   

    第一个其实也很简单,仔细查看File类的API文档,除了复制,其余的操作都有相应的方法,可以设计命令对这些方法进行调用。
    对于复制,要用InputStream和OutputStream,把源文件读入再写到新文件中
      

  3.   

    第一道题可以有什么方法,代码也较多,就不贴了;
    第二道题我贴一种最简单的方法,就是用set,因为set中的元素不允许重复,代码如下:
    import java.util.HashSet;
    import java.util.Random;
    import java.util.Set;
    public class Test 
    {
    public static void main(String[] args) 
    {
    Random ran = new Random();
    Set<Integer> set = new HashSet<Integer>();
    while(set.size() < 7)
    {
    set.add(ran.nextInt(31));
    }
    System.out.println(set);
    }
    }
      

  4.   

    用set写这个小程序,真是省事不少,学习中。
    我们做这个联系的时候,我用了两种写法,那时候,还没学set。呵呵
    收藏收场
      

  5.   


    package csdn1;import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;public class Buy { public static void main(String[] args) {
    Set set = new HashSet();
    int i = 0 ;
    int temp;
    while(i<8){
    temp = (int)((Math.random()*30)+1);
        set.add(Integer.valueOf(temp));
        if(set.size()==7){
         break;
        }
    i++;
    }
    Iterator it = set.iterator();
    while(it.hasNext()){
    System.out.println(it.next());
    }
       }
    }
      

  6.   

    [Quote=引用 1 楼 wanlicong 的回复:]
    第一个:第一个有很多方法,想删除,复制,,但你说的通过控制台输入本人没不知道你想表达的是什么意思,所以不好回答 
    就是先在控制台显示菜单 1.新建 2.删除 3.复制 4.移动  然后选择相应的选项 然后输入 文件名和目录 比如选择我选择1新建.接下来要提示输入文件路径,输入文件路径之后再提示输入文件名 然后在相应的路径下建立文件
      

  7.   

    第一个不用Set写 就用Math里的Random方法
      

  8.   

    第一题:
    package file;import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    public class FileOper { /**
     * @param args
     */
    public static void main(String[] args) throws Exception{
    // TODO Auto-generated method stub
    if(args.length<3||args.length>4){
    System.err.print("Usage:file -n|-d|-m|-c path");
    System.exit(0);
    }
    if(args.length==4){
    if("-m".equals(args[1])||"-c".equals(args[1])){
    File src=new File(args[2]);
    if(!src.exists()){
    System.err.print("源文件不存在");
    System.exit(0);
     }else{
     File dest=new File(args[3]);
     copyFile(src,dest);
     System.out.print("拷贝或移动成功");
     }
    }else{
    System.err.print("Usage:file -m src dest");
    System.exit(0);
    }
    }else{
    if("-n".equals(args[1])){
    File f=new File(args[2]);
    if(!f.exists()){
    f.createNewFile();
     System.out.print("创建新文件成功");
    }
    }else if("-d".equals(args[1])){
    File f=new File(args[2]);
    if(f.exists()){
    f.delete();
     System.out.print("删除文件成功");
    }else{
    System.err.print("文件不存在,不能删除");
    System.exit(0);
    }
    }
    }
    } private static void copyFile(File src, File dest) {
    try {
    InputStream is = new FileInputStream(src);
    OutputStream out = new FileOutputStream(dest);
    int b = 0;
    while ((b = is.read()) != -1) {
    out.write(b);
    }
    is.close();
    out.close();
    } catch (Exception e) {
    e.printStackTrace();
    }

    }}
    第二题package array;import java.util.Random;public class RandomTester { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] arr=new int[7];
    for(int i=0;i<arr.length;i++){
    arr[i]=new Random().nextInt(30);
    }
    for(int i=0;i<arr.length;i++){
    System.out.println(arr[i]);
    }
    }}
      

  9.   

    public class ArrayListTest{
    public static void main(String[] args){
    int index=0;
    int[] arr=new int[30];
    int[] answer=new int[7];
    for(int i=0;i<arr.length;i++){
    arr[i]=i+1;
    }
    while (index<=6) {
    while (true) {
    int random = (int) (Math.random() * 30 + 1);
    if (arr[random - 1] == 0){
    continue;
    }
    else {
    answer[index] = random;
    ++index;
    arr[random-1]=0;
    break;
    }
    }
    }
    for(int i=0;i<answer.length;i++){
    System.out.print(answer[i]+" ");
    }

    }
    }