1、输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a student.”,则输出“student. a am I”。
// String str = "I am a student.";
String str = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
int index = str.lastIndexOf(' ');
while (index >= 0) {
System.out.print(str.substring(index + 1) + ' ');
str = str.substring(0, index);
index = str.lastIndexOf(' ');
}
System.out.print(str);
2、在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
public void onlyOneChar() {
String str = "abaccdeff";
for (int i = 0; i < str.length(); i++) {
if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
System.out.println(str.charAt(i));
break;
}
}
}
3、有一只兔子,四年后开始每年产一只兔子。
a) 按此规律,多少年后兔子总数超过1000只兔子?
b) 打印每年的兔子数量。
c) 并把每年的兔子数量生成文件保存到c:\ rabbit.txt。
public static void tuZi() {
File file = null;
FileWriter fw = null;
BufferedWriter bw = null;
int f[] = new int[100];
f[0] = f[1] = f[2] = f[3] = 1;
try {
file = new File("c:\\rabbit.txt");
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
if (file.exists()) {
file.delete();
} else {
try {
file.createNewFile();
} catch (IOException e) {
System.out.println("创建文件失败!");
}
}
for (int i = 0; i < 100; i++) {
if (i < 4) {
bw.write("第 " + (i + 1) + " 年兔子数量为\t1");
bw.newLine();
} else {
f = f[i - 1] + f[i - 4];
bw.write("第 " + (i + 1) + " 年兔子数量为\t" + f);
bw.newLine();
if (f > 1000) {
System.out.println(i + 1 + " 年后兔子总数超过1000只兔子");
break;
}
}
}
bw.close();
fw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
4、实现tirm()
public String trimTest() {
System.out.println("请输入字符串");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = br.readLine();
} catch (IOException e) {
System.out.println("输入异常");
}
if (str == null || " ".equals(str)) {
System.out.println("丫什么都没输入我给你判断什么?");
}
// String str=" mo jun ";
// 起始位置
int st = 0;
// 从off位置到最后
/** The off is the first index of the storage that is used. */
int off = 0;
// count是总字符数
/** The count is the number of characters in the String. */
int count = str.length();
int len = count;
/** The value is used for character storage. */
char[] val = str.toCharArray();
System.out.println(val.length + " " + str.length());
// 算出前空白的位置
while ((st < len) && (val[off + st] <= ' ')) {
st++;
}
// 算出最后空白的位置
while ((st < len) && (val[off + len - 1] <= ' ')) {
len--;
}
return ((st > 0) || (len < count)) ? str.substring(st, len) : str;
}
5、对14、58、25、46、38、79、65进行排序。
public void printMaoPao() {
int[] aa = { 14, 58, 25, 46, 38, 79, 65 };
System.out.println("我选择的是冒泡排序");
for (int i = 0; i < aa.length; i++) {
for (int j = 0; j < aa.length - i - 1; j++) {
if (aa[j] > aa[j + 1]) {
int t = aa[j + 1];
aa[j + 1] = aa[j];
aa[j] = t;
}
}
}
for (int i = 0; i < aa.length; i++) {
System.out.println(aa);
}
}
6、求1+2+…+n;
public void sum() {
System.out.println("请输入一个数字");
String s = "";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
s = br.readLine();
int n = Integer.parseInt(s);
System.out.println(n);
int sum = 0;
// while方式
while (n > 0) {
sum += n;
n--;
}
// do..while方式
do {
sum += n;
n--;
} while (n > 0);
// for方式
for (int i = 0; i <= n; i++) {
sum += i;
}
System.out.println(sum);
} catch (Exception e) {
System.out.println("丫 您输入的内容格式不正确,请输入正整数");
sum();
}
}
7、Oracle中有哪几种文件?并说明各种文件的用途
数据文件(一般后缀为.dbf或者.ora),日志文件(后缀名.log),控制文件(后缀名为.ctl)
控制文件是oracle数据库启动时使用的文件,里面存放了数据库结构的一些信息,例如:数据库的名称、实例名称、数据文件位置、表空间、日志文件等等信息;
数据文件是oracle数据库实际存放数据的地方,例如你利用insert语句插入的数据,首先是在内存中,然后oracle会根据它自己的机制,写入到数据文件中;
日志文件是oracle进行操作时记录操作使用的文件,例如删除文件时oracle自己所做的记录;
8、在一个字符串中找到出现最多次的字符和最少次的字符以及次数。 如输入abaaccdeff,则输出b:1,a:3。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class Test {
public static void main(String[] args) throws IOException {
// String str = "AABBCCGFFDED";
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
if (null == str || "".equals(str)) {
System.out.println("输入不能为空,程序已结束!");
return;
}
Map<String, Integer> maps = new HashMap<String, Integer>();
for (int i = 0; i < str.length(); i++) {
String temp = str.substring(i, i + 1);
Integer count = maps.get(temp);
if (count == null) {
count = 1;
} else {
count++;
}
maps.put(temp, count);
}
// 得出最小次数的字母
Integer minCount = null;
for (String key : maps.keySet()) {
if (minCount == null || maps.get(key) < minCount) {
minCount = maps.get(key);
}
}
// 得出最大次数的字母
Integer maxCount = null;
for(String key:maps.keySet()){
if(maxCount==null || maps.get(key)>maxCount){
maxCount=maps.get(key);
}
}
// 得到最小的字母
//Character minChar = null;
for (String key : maps.keySet()) {
if ((int) maps.get(key) == minCount) {
System.out.println("最小次数的字母结果是:字母" + key + " 次数先:" + minCount);
}
}
// System.out.println("结果是:字母" + minChar + " 次数先:" + minCount);
// 得到最大的字母
//Character maxChar = null;
for (String key : maps.keySet()) {
if ((int) maps.get(key) == maxCount) {
System.out.println("最大次数的字母结果是:字母" + key + " 次数先:" + maxCount);
}
}
}
}