1.给定一个字符串,判断其是否以指定的前缀开始,忽略打小写。
2.实现一个通用的文件拷贝函数,给定要拷贝的文件和目标目录,如果目标目录下存在相同名称的文件则覆盖。
3.实现一个对元素类型为String 的List进行排序的函数,要求按照字符串的倒序进行排序。
4。请设计一个Utility类,要求不能够被其他的类继承,并且不能被其的对象实例化。
2.实现一个通用的文件拷贝函数,给定要拷贝的文件和目标目录,如果目标目录下存在相同名称的文件则覆盖。
3.实现一个对元素类型为String 的List进行排序的函数,要求按照字符串的倒序进行排序。
4。请设计一个Utility类,要求不能够被其他的类继承,并且不能被其的对象实例化。
解决方案 »
- JTree节点相关信息的储存问题
- 画了个时钟,问题多多,倒影让我无语。请教大侠。
- spring mvc中
- Java有没有能操作.tar文件的API?(急,在线等)
- java:有谁用过drm(数字版权管理)为流媒体文件做的加密解密程序的吗(主要是对wmv文件的)
- 怎样保存image?着急,再线等待
- 怎样可以实时刷新表格中的数据???
- 请问java bean 与普通的java class的主要区别?
- 不用JDBC-ODBC Bridge,可以连接MS SQL Server 2000吗?
- 用LinkedList存储多个二维数组,为什么导出的数据全都是一样的?
- JTree刷新数据之后如何保持以前的状态
- 请各位大虾举一个经典的使用继承例子!!
str.startsWith("work");则为真2,这样的类好实现,就是调用File.exits()方法,判断一下就行了3,String str = "bacde"
str.compareTo("boy")>0,str.compareTo("aba")>0,str.compareTo("abcde")=0;4,用final abstract 修饰类路过,学不久,不知对不对?
2,io流实现
3,list实现Comparable 重写compareTo
我也是半道出家。我的思路是这样的!
return str.toLowerCase().startsWith(start.toLowerCase());
}
2.实现一个通用的文件拷贝函数,给定要拷贝的文件和目标目录,如果目标目录下存在相同名称的文件则覆盖。 public void copy(String files, String directory){
File f = new File(files);
File d = new File(directory+ "/" + f.getName());
BufferedReader br = null;
BufferedWriter bw = null;
try{
br = new BufferedReader(new FileReader(f));
bw = new BufferedWriter(new FileWriter(d));
String str = null;
while((str = br.readLine()) != null){
bw.write(str,0,str.length());
bw.newLine();
}
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
} finally{
try{
if(bw != null) bw.close();
if(br != null) br.close();
} catch(IOException e1){
e1.printStackTrace();
}
}
}
3.实现一个对元素类型为String 的List进行排序的函数,要求按照字符串的倒序进行排序。 public void sort(List<String> lists){
Object[] obj = lists.toArray();
for(int j = 0; j < obj.length; j++){
StringBuffer sb = new StringBuffer((String)obj[j]);
sb.reverse();
obj[j] = sb.toString();
}
Arrays.sort(obj);
ListIterator<String> i = lists.listIterator();
for(int j = 0; j < obj.length; j++){
i.next();
StringBuffer sb1 = new StringBuffer((String)obj[j]);
i.set(sb1.reverse().toString());
}
}
4。请设计一个Utility类,要求不能够被其他的类继承,并且不能被其的对象实例化。 申明Utility为final,并写一个private的构造方法
import java.util.*;
public class Test { public Test() {
}
public static void main(String[] args){
ArrayList<String> strList=new ArrayList<String>();
strList.add("Hello");
strList.add("GoodBye");
strList.add("nihao");
strList.add("Thanks");
strList.add("OK");
strList.add("No"); Collections.sort(strList);
Iterator it = strList.iterator();
System.out.println("Reverse:");
while(it.hasNext()){
System.out.print(it.next()+" ");
} Collections.sort(strList, Collections. reverseOrder());
it = strList.iterator();
System.out.println("Reverse:");
while(it.hasNext()){
System.out.print(it.next()+" ");
}
}
}
while(i.hasNext()){
System.out.print(i.next()+" ");
}Iterator i = lists.Iterator();
while(i.hasNext()){
System.out.print(i.next()+" ");
}
这两个出来的顺序好像不一样,我们应该用哪种
注:楼上程序没错,不好意思
但最后一道题目有点补充4。请设计一个Utility类,要求不能够被其他的类继承,并且不能被其的对象实例化。 申明Utility为final,并写一个private的构造方法,同时提供创建自身实例的方法,因为不能被其的对象实例化,自身的构造方法又是私有的,别人怎么调用这个类的方法呀,除非都是STATIC METHOD,所以需要提供创建自身实例的方法\
提供创建自身实例的方法
private static Utility instance = new Utility();
private Utility(){}
public Utility getInstance(){}
public void sort(List<String> lists){
Object[] obj = lists.toArray();
for(int j = 0; j < obj.length; j++){//所有字符串自身反序如: Hello->olleH
StringBuffer sb = new StringBuffer((String)obj[j]);
sb.reverse();
obj[j] = sb.toString();
}
Arrays.sort(obj);//按反序后的字符串排序
//如:Hello、nihao、goodbye 会变成 eybdoog->oahin->olleH
ListIterator<String> i = lists.listIterator();
for(int j = 0; j < obj.length; j++){//再翻转每个字符串goodbye->nihao->Hello,所以错了
i.next();
StringBuffer sb1 = new StringBuffer((String)obj[j]);
i.set(sb1.reverse().toString());
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.io.File;
import java.io.*;/**
*
* <p>Title: 将一个目录下的所有文件复制到另一个目录下</p>
*
* <p>Description: 将一个目录下的所有文件复制到另一个目录下 </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class TestFile
{
public TestFile()
{
} public static void main(String[] args)
{
//在当前目录下创建一个FileTest目录
File file = new File(".//FileTest");
file.mkdir(); //调用方法复制文件
getFileList(".//classes", ".//FileTest");
} /**
* 执行复制操作
* @param nameFile String 源目录
* @param nameDirectory String 目标目录
*/
private static void getFileList(String nameFile, String nameDirectory)
{
File file1 = null;
File file5 = null;
FileInputStream fileInput = null;
DataInputStream dateInput = null; File file4 = null;
FileOutputStream fileOutput = null;
DataOutputStream dateOutput = null; try
{
//创建源文件对象
file1 = new File(nameFile); //获得文件列表
File[] file2 = file1.listFiles(); for (int i = 0; i < file2.length; i++)
{
//判断是否为目录
if (file2[i].isDirectory())
{
//创建目录
File file3 = new File(nameDirectory + "//" +
file2[i].getName());
file3.mkdir(); //继续执行文件复制
getFileList(nameFile + "//" + file2[i].getName(),
nameDirectory + "//" + file2[i].getName());
}
else
{
//创建源目录下的文件对象
file5 = new File(file2[i].toString());
fileInput = new FileInputStream(file5);
dateInput = new DataInputStream(fileInput); //创建目标目录下的文件对象
file4 = new File(nameDirectory + "//" +
file2[i].getName());
fileOutput = new FileOutputStream(file4);
dateOutput = new DataOutputStream(
fileOutput);
int temp = 0;
while ((temp = dateInput.read()) != -1)
{
//将源目录下的文件内容复制到目标目录下的文件中
dateOutput.write(temp);
}
System.out.println("[" + nameDirectory + "//" +
file2[i].getName() + "]");
}
}
}
catch (IOException ex)
{
System.out.println(ex.toString());
}
finally
{
try
{
dateInput.close();
dateOutput.close();
}
catch (IOException ex1)
{
System.out.println(ex1.toString());
}
}
}
}