精华内容
下载资源
问答
  • 文件切割 java

    2018-11-26 23:18:45
    package 文件切割; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; public class 文件切割器 { public ...
    package 文件切割;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FilenameFilter;
    import java.io.IOException;
    
    public class 文件切割器 {
    	public static void main(String[] args) throws IOException {//不要随便运行。。。
    		//delet();
    		//spiltfilebynum(new File("d:\\dd.txt"), 3);
    		//spiltfilebymemory(new File("d:\\dd.txt"),1024*12);
    	}
    	//输入文件和文件需要被切割的份数 按份数切
    	static void spiltfilebynum(File file,int n) throws IOException
    	{
    		String s=file.getParent();//获取文件路径,用于确定将来被切割的文件放置的路径
    		FileInputStream f=new FileInputStream(file);//确定输入流
    		
    		int count=1;
    		long b=file.length();//获取文件长度
    		
    		int space =(int)b/n;	//开辟数组
    		byte arr[]=new byte[space];
    		
    		int len;
    		while((len=f.read(arr))!=-1)
    		{
    			FileOutputStream fos=new FileOutputStream(new File(s,(count++)+".hahhh"));//确定输出流
    			fos.write(arr, 0, len);
    			fos.close();
    		}
    		f.close();
    	}
    	//告诉我要切多大内存  按内存切
    	static void spiltfilebymemory(File file,int n) throws IOException
    	{
    		int count=1;
    		
    		String s=file.getParent();
    		FileInputStream f=new FileInputStream(file);
    		
    		byte arr[]=new byte[n];
    		
    		int len;
    		while((len=f.read(arr))!=-1)
    		{
    			FileOutputStream f2=new FileOutputStream(new File(s,(count++)+".asds")); 
    			f2.write(arr, 0, len);
    			f2.close();
    		}
    		f.close();
    	}
    	static void delet(String s)//用于搞错了删除文件,创了2000多个文件2333
    	{
    		FilenameFilter f=new FilenameFilter() {
    			
    			@Override
    			public boolean accept(File dir, String name) {
    				// TODO Auto-generated method stub
    				return name.endsWith(s);
    			}
    		};
    		File file=new File("d:\\");
    		File arr[]=file.listFiles();
    		for (File file2 : arr) {
    			if(file2.isDirectory()) {}
    			else
    				if(f.accept(file, file2.getName())) 
    				{
    					file2.delete();
    				}
    		}
    	}
    }
    

     

    展开全文
  • 平面切割 JAVA

    2020-08-27 21:54:41
    import java.util.Scanner; public class Main { public static int find[]=new int[100001]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int x=...

    import java.util.Scanner;

    public class Main
    {
    public static int find[]=new int[100001];
    public static void main(String[] args)
    {

    	Scanner sc = new Scanner(System.in);
    	while (sc.hasNext())
    	{
    		int x=sc.nextInt();
    		while(x-->0) {
    			int a=sc.nextInt();
    			System.out.println(a*2*a-a+1);
    		}
    	}
    
    }
    

    }

    展开全文
  • 钢管切割Java

    2015-11-18 02:14:02
  • 【问题】:给定一段长度为n英寸的钢条和一个价格表pi(i = 1,2,3…n)求切割方案使得销售受益rn最大。 例如 n = 4 切割方案以及对应的收益为: 【用自顶向下的递归】 //CUT-ROD(p,n) if n == 0 return 0 q =...

    【问题】:给定一段长度为n英寸的钢条和一个价格表pi(i = 1,2,3…n)求切割方案使得销售受益rn最大。
    在这里插入图片描述
    例如 n = 4
    切割方案以及对应的收益为:
    在这里插入图片描述
    【用自顶向下的递归】

    //CUT-ROD(p,n)
    if  n == 0
         return 0
     q = -无穷
     for i = 1 to  n
         q = max(q,p[i]+CUT-ROD(p,n-i))
     return q;
    

    【用动态规划的思想解决】
    动态规划方法仔细安排就切顺序,对每个子问题只求解一次,并将结果保存下来,如果此后自此需要此问题的解,只需查找保存的结果,而 不必重新计算。

    动态规划有两种等价的实现方法:
    方法一:带备忘的自顶向下法
    此方法按自然的递归形式编写过程,但过程会保存每个子问题的解(保存在数组或散列表中)。当需要一个子问题的解时,过程首先检查是否已经保存过此解,是,返回值。

    MEMOIZED-CUT-ROD(p,n)
    let r[0..n] be a new array
    for i = 0 to n
        r[i] = -无穷
    return MEMOIZED-CUT-ROD-AUX(p,n,r)
    
    MEMOIZED-CUT-ROD-AUX(p,n,r)
    if(r[n]>=0
        return r[n]
    if n==0
       q = 0
    else q= -wuqiong
       for i = 1 to n
            q = max(q,p[i] + MEMOIZED-CUT-ROD-AUX(p,n-i,r)
    r[n] = q
    return q
    

    方法二:自底向上法
    需要恰当的定义子问题的“规模”,使得任何问题的求解都只依赖于“更小的"子问题的求解。按由小到大的顺序进行求解。

    //BOTTOM-UP-CUT-ROD(p,n)
    let r[0,1,2...n] be a new array
    r[0] = 0
    for j = 1 to n
         q = -wuqiong
         for i = 1 to j
             q = max(q,p[i] + r[j-i]
         r[j] = q
    return r[n]
    

    扩展版本:不仅保存最优收益值,还保存对应的切割方案

    //EXTENDED-BOTTOM-UP-CUT-ROD(p,n)
    let r[0,1,2...n] and s[0...n0be a new array
    r[0] = 0
    for j = 1 to n
         q = -wuqiong
         for i = 1 to j
             if q<p[i]+r[j-i]
                 q = p[i]+r[j-i]
                 s[j] = i
             r[j] = q
    return r and s
    

    【java实现】

    package 动态规划;
    
    public class 钢筋分割 {
    	//递归方法
    	
        public static int cut_rod(int[] p,int n){
            if (n==0){
                return 0;
            }
            int q=-1;
            for (int i=1;i<=n;i++){
                q=Math.max(q,p[i]+cut_rod(p,n-i));
            }
            return q;
        }
        
        //带备忘的自顶向下
        public static int memoizedCutRod(int[] p,int n){
        	int[] r = new int[n+1];
        	for (int i = 0;i < r.length;i++){
        		r[i] = -1;
        	}
        	return MEMOIZED_cut_rod_aux(p,n,r);
        }
        
        public static int MEMOIZED_cut_rod_aux(int[] p,int n,int[]r){
        	if(r[n] >= 0){
        		return r[n];
        	}
        	int q = -1;
        	if(n == 0)  q = 0;
        	else{
        		for(int i = 1;i<=n;i++){
        			q = Math.max(q,p[i]+MEMOIZED_cut_rod_aux(p,n-i,r));
        		}
        	}
        	r[n] = q;
    		return q;
        }
        
        //使用自底向上
        public static int bottomUpCutRod(int[] p,int n){
        	int[] r = new int[n+1];
        	for(int i = 0;i<r.length;i++){
        		r[i] = 0;
        	}
        	for(int j = 1;j <= n;j++){
        		int q = -1;
        		for(int i = 1;i<=j;i++){
        			q = Math.max(q, p[i] + r[j-i]);
        		}
        		r[j] = q;
        	}
        	return r[n];
        }
        
        public static void main(String[] args) {
    		int[] p = {0,1,5,8,9,10,17,17,20,24,30};
    		int n = 4;
    		int resultDigui = cut_rod(p,n);
    		System.out.println("使用递归方法求得最优收益为"+resultDigui);
    		int resultBeiwang = memoizedCutRod(p,n);
    		System.out.println("使用带备忘方法求得最优收益为"+resultBeiwang);
    		int resultZidiXiangshang = bottomUpCutRod(p,n);
    		System.out.println("使用自底向上方法求得最优收益为"+resultZidiXiangshang);
        }
    
    }
    

    运行结果:
    在这里插入图片描述

    展开全文
  • swift 字符串实现java的substring(start:Int,_ end:Int)->String?方法. 获取切割的子字符串.extension String{ func substring(start:Int,_ end:Int)->String?{ if start|| start>=self.characters.count || ...
  • 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为5和3的材料(记为5×3),小明会依次切出3×3、...
  • 工具:一个jar包即可:jave-1.0.2.jar可以切割wav格式的音频文件完整工程目录就一个jar包,一个main类代码:package com.zit;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;...
  • 标签(空格分隔): java方法一:split() 方法——JDK 1.4 or later##例子:public class StringSplit {public static void main(String[] args) {//一般用法String sourceStr = "1,2,3,4,5";String[] sourceStrArray ...
  • import it.sauronsoftware.jave.Encoder;import it.sauronsoftware.jave....import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import ...
  • package ...import java.awt.Dimension;import java.awt.Image;import java.awt.Point;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInput...
  • importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.Arrays;importorg.apache.commons.io.FileUtils;importorg.apac...
  • 矩形切割-Java

    2021-01-21 17:27:43
    题目描述: 小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。 当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形, 然后再切割剩下的矩形材料,直到...import java.u
  • 【实例简介】java springboot 切割分片上传大文件,java springboot 切割分片上传大文件【实例截图】【核心代码】springboot-bigfile└── springboot-bigfile├── pom.xml└── src├── main│ ├── java│ ...
  • 使用PHP开发的同学都知道array_chunk函数,其作用是将数据进行切割分段,但是在 java中却找不到合适的给List和Map分段的函数。在此我写了一个切割工具,分享一下import org.springframework.util.CollectionUtils;...
  • Java 图片切割

    2016-10-28 15:16:00
    最近做一个猜图小游戏,需要将一张大图动态切割成小图块,写个博客记录一下。 import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.Im...
  • java 切割图片

    2014-03-21 15:37:24
    java中可能要对图片进行操作,对图片的切割。一般用awt包。 package com.sysi.cn; import java.awt.Dimension; import java.awt.Image; import java.awt.Point; import java.awt.Rectangle; import java.awt...
  • 运用Java编写代码将一个大文件切割成指定大小的小文件思路:对已知文件进行切割操作 –> 得到多个碎片文件使用:1、 1个字节输入流 –> 读取已知文件中的数据2、 多个字节输出流 –> 生成多个碎片文件思路...
  • Java矩形切割

    2020-07-10 21:21:33
    当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止 例如,对于一块两边分别为5和3的材料(记为5x3),小明会依次切出3x3、2x2、...
  • java文件切割

    2018-01-05 22:33:21
    在main方法里,有文件合并与分割的调用方式 ...import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class SplitU...
  • 新建一个 FileSlice 类:有切割方法,拼接方法。 public class FileSlice { /** * 分割文件 * @param filePath 文件路径 * @param filePieceSize 文件每块大小,单位为字节,为-1则默认为每块64M * @return 成功返回...
  • java切割音频文件

    千次阅读 2019-09-03 14:21:57
    java切割音频文件:https://blog.csdn.net/weixin_34023863/article/details/93792055
  • Java文件切割

    2017-09-10 23:55:14
    切割文件:论坛等可以上传附件文件,但是对文件的大小有限制,这时可以将整个文件切割成多个子文件(碎片文件)。别人可以下载这些子文件,然后将其合并在一起,就可以正常查阅。   切割文件的方式: 1、 不管...
  • 展开全部当然可以啊。...import java.awt.Image;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;public class ImageCut {/*** @para...
  • 钢条切割java)

    2020-05-06 18:40:35
    Serling公司购买长钢条,将其切割为短钢条出售。切割工序本身没有成本支出。公司管理层希望知道最佳的切割方案。假定我们知道Serling公司出售一段长为i英寸的钢条的价格为pi(i=1,2,…,单位为美元)。钢条的长度均为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,291
精华内容 916
关键字:

切割java

java 订阅