Java笔试题共23题(附答案)(5)

2019-03-15 18:06

/*

题目: 接收用户输入的一句英文,将其中的单词以反序输出。例如: “I love you” →\思路: 1、获取用户输入,调用String的split()方法用空格将其分割成 字符串数组 2、遍历这个字符串数组,通过StringBuffer构造方法,将 字符串数组转换成StringBuffer对象,并调用reverse() 方法, 将字符串倒序 3、通过String的构造方法再将StringBuffer对象转换成String 并输出该新字符串 */

import java.util.Scanner;

class Test { public static void main(String[] args) { //创建Scanner对象 Scanner sc = new Scanner(System.in); System.out.println(\请输入您要反序输出的一句英文:\ //获取控制台输入 String line = sc.nextLine();

//将其用空格分割成字符串数组 String[] lines = line.split(\

System.out.println(\反序输出的结果:\//遍历字符串数组

for(int i = 0; i < lines.length; i ++) {

//将数组中的字符串转换成StringBuffer对象 StringBuffer sb = new StringBuffer(lines[i]);

//通过StringBuffer对象的reverse()方法得到反序单词 String newStr = new String(sb.reverse()) ; //直接输出反序单词 System.out.print(newStr+\ } System.out.println(); } }

//////////////////////////////////////////////////////// \/*

题目:

编写一个可以获取文件扩展名的函数。形参接收一个文件名字符串,返回一个扩展字符串。 思路: 1、用String类的lastIndexOf(string s) 方法获取最后一个点的位置 2、根据用String的substring(开始索引,结束索引)取得扩展名 */

import java.util.Scanner;

class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

System.out.println(\请输入文件名:\ String filename = sc.nextLine(); String extend = getExtend(filename); }

public static String getExtend(String filename) { //取得最后一个点的索引 int beginindex = filename.lastIndexOf(\ int endindex = filename.length();

//根据用String的substring(开始索引,结束索引)取得扩展名 String extend = filename.substring(beginindex + 1, endindex); return extend; } }

//////////////////////////////////////////////////////// \/*

题目: 用ArrayList存入Student自定义对象,Student类有name,age两个属性 按照age倒序排序。 思路: 1、创建ArrayList集合,并向集合中添加Student对象 2、新建一个Comparator比较器接口的实现类,重写compare方法, 按年龄倒序排序 3、调用Collections的sort方法传入Comparator比较器实现类 */

import java.util.ArrayList; import java.util.Iterator; import java.util.Collections; import java.util.Comparator; class Test

{ }

public static void main(String[] args) { //创建集合 ArrayList list=new ArrayList(); }

//向集合中添加元素

list.add(new Student(\张三\list.add(new Student(\李四\list.add(new Student(\王二\

//调用Collections的sort方法进行排序 Collections.sort(list, new MyComparator()); //遍历集合

Iterator it=list.iterator(); while(it.hasNext()) { Student s=(Student)it.next(); System.out.println(\}

//实现了Comparator比较器接口的自定义类

class MyComparator implements Comparator { @Override public int compare(Student s1 ,Student s2) { //按年龄排序,从大到小 int num = s2.getAge() - s1.getAge(); return num; } }

//标准学生类 class Student { private String name; private int age; Student(){} Student(String name,int age) { this.name=name; this.age=age; } // set和get方法 public void setName( String name )

{ this.name=name; } public String getName() { return this.name; } public void setAge( int age ) { this.age=age; } public int getAge() { return this.age; } }

//////////////////////////////////////////////////////// \/*

题目: 编程列出一个字符串的全部字符组合情况。原始字符串中没有重复字符。 例如: 原始字符串是“abc”,打印得到下列所有组合情况: “a” “b” “c” \ \ \ \ \ \ *思路:

*1,发现组合的最小长度是单个字符,且就是原始字符串的每个字符,而最长长度则和字符串一样

*2,每行新组合都是在前一行旧组合的基础上,将每个旧组合与原始字符串中每个不同字符单独组合一次,获得新组合

*3,新一行组合有多少个,无法马上确定,因为都是字符串,

* 所以可以先用StringBuilder接收每个新组合,最后再切割获得每个新组合 * */

public class Test {

public static void main(String[] args) { //调用方法,传入字符串 show(\ }

//编写方法,接收字符串

public static void show(String str){

//将原始字符串转成原始字符数组 char[] chs=str.toCharArray();

//获得原始字符串数组,即每个字符串只有一个字符 String[] strs=chsToStrs(chs);

//按指定格式输出原始字符串数组,即单个字符的组合情况 printString(strs);

//x为每行单个字符串的长度,第一行已经输出,所以从2开始,最长为原始字符串长度,循环输出每行组合

for(int x = 2;x<=str.length();x++){

//调用方法,传入 原始字符数组 和 前一次的字符串数组,获得新的字符串数组

strs=addChar(chs,strs);

//按指定格式输出新的字符串数组 printString(strs); } }

//定义方法,接收 原始字符数组 和 前一次的字符串数组,并返回新字符串数组 public static String[] addChar(char[] chs,String[] oldStrs){

//因为新字符数组长度暂时无法确定,也为了转换方便,所以使用StringBuilder来接收每个新字符串

StringBuilder sb=new StringBuilder(); //定义新字符串数组 String[] newStrs=null;

//外循环,遍历每个字符串数组 for(int x=0;x

//内循环,遍历每个原始字符,将每个字符串把每个不同字符都单独添加一次

for(int y=0;y

//判断字符串是否包含该字符,通过indexOf()的返回值>=0来确定已包含

if(oldStrs[x].indexOf(chs[y])>=0)

//已包含该字符,则不操作,继续下次循环 continue;

//不包含该字符,则添加该字符 String s=oldStrs[x]+chs[y];

//添加新字符串到StringBuilder对象并用','隔开 sb.append(s).append(','); } }

//删除StringBuilder对象最后的一个',',并转成字符串,再将字符串按','切割,获得新字符串数组

newStrs=sb.deleteCharAt(sb.length()-1).toString().split(\


Java笔试题共23题(附答案)(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常用的素质拓展项目 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: