走过路过过来看看

xiandulina 2009-11-12 02:41:37
1.打开文件,读出一行内容
2.输入一个字符串 sadfsa 逆序输出 asfdas不要使用 reverse函数.
3.计算字符串中某一子串出现的 次数 不要使用 count函数
4.写个堆栈的进栈和出栈
5.深度遍历树的算法
...全文
169 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2009-11-12
  • 打赏
  • 举报
回复
楼主,作业题,还是自己独立思考,做出来的好。
或者,楼主可以把自己的想法,代码贴出来,大家互相讨论一下也可以啊。

1.打开文件,读出一行内容
BufferedReader br = new BufferedReader(new FileReader("d:\\test.txt"));
String line = br.readLine();
System.out.println(line);
goosman 2009-11-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xiandulina 的回复:]
第一个怎么写
[/Quote]

简单而繁琐, 自己查查吧..
xiandulina 2009-11-12
  • 打赏
  • 举报
回复
第一个怎么写
goosman 2009-11-12
  • 打赏
  • 举报
回复
4.写个堆栈的进栈和出栈

考虑效率问题, 可以根据实际情况把基础数据结构datas的长度保留或做其他处理

public class Stack {
private List<Object> datas;
public Stack() {
this.datas = new ArrayList<Object>();
}
public void push(Object data) {
this.datas.add(data);
}
public void pop() {
try {
return this.datas[this.datas.size()];
} finally {
this.datas.remove(this.datas.size());
}
}
}
fenshen6046 2009-11-12
  • 打赏
  • 举报
回复
第二题和第四题应该换个位置,逆序输出就是进出栈的问题。计算某个字符串出现的次数可以用正则表达式。
goosman 2009-11-12
  • 打赏
  • 举报
回复
5.深度遍历树的算法
Node root = null;
//initial the tree.

public static void recursion(Node parent) {
Node[] children = parent.children();
for(Node child: children) {
recursion(child);
}
System.out.println("This is node: " + parent.msg);
}
goosman 2009-11-12
  • 打赏
  • 举报
回复
我没有测试过, 没环境, 将字符串转换成字符数组, 然后将该数组折半, 交换对应的字符, 最后再拼成字符串就行了..

那个交换利用了异或操作, 主要是char可以向int转型...所以可以使用.

[Quote=引用 4 楼 lgg201 的回复:]
2. 输入一个字符串  sadfsa 逆序输出  asfdas不要使用 reverse函数.
  char[] array = "sadfsa".toCharArray();
  int length = array.length();
  int halfLength = length / 2
  for(int i = 0; i < halfLength; i ++) {
    int preIndex = i;
    int sufIndex = length - 1 - i;
    array[preIndex] = array[preIndex] ^ array[sufIndex];
    array[sufIndex] = array[preIndex] ^ array[sufIndex];
    array[preIndex] = array[preIndex] ^ array[sufIndex];
  }
[/Quote]
goosman 2009-11-12
  • 打赏
  • 举报
回复
2. 输入一个字符串 sadfsa 逆序输出 asfdas不要使用 reverse函数.
char[] array = "sadfsa".toCharArray();
int length = array.length();
int halfLength = length / 2
for(int i = 0; i < halfLength; i ++) {
int preIndex = i;
int sufIndex = length - 1 - i;
array[preIndex] = array[preIndex] ^ array[sufIndex];
array[sufIndex] = array[preIndex] ^ array[sufIndex];
array[preIndex] = array[preIndex] ^ array[sufIndex];
}
swandragon 2009-11-12
  • 打赏
  • 举报
回复
过来看看
前4个都写过
smallbear923 2009-11-12
  • 打赏
  • 举报
回复
过来看看~
junjun1984 2009-11-12
  • 打赏
  • 举报
回复
作业题?Google下吧。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧