一、创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名(华为笔试最后一道编程)
二、假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等
三、给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842
四、给你一组字符串让你把它倒叙输出
五、给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
二、假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等
三、给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842
四、给你一组字符串让你把它倒叙输出
五、给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
解决方案 »
- Java 内存的那些事
- 在dopost方法里调用JOptionPane.showMessageDialog()为什么那么慢?
- 求助 java中sql语句中in条件如何参数化
- JCloseableTabbedPane为什么不能用
- 求 判断输入日期是否大于本月最后一天的方法
- 10进制怎样转换16进制
- Applet怎样实现屏幕拷贝?
- jcreator有没有函数自动提示功能?
- 向oracle9i中插入BLOB时出现问题,请教各位。
- 高分请教一些关于MVC模式的问题﹐关注有分﹐会再开贴子加分﹐加分无上限
- 一个java写的用神经网络进行手写字母识别程序
- WebLogic 究竟有多大?我下了一个!300m,有这么大吗?
Method[] ma = c.getMethods();
int l = Array.getLength(ma);
for(int i=0;i<l;i++) System.out.print(ma[i].getName() + " ");
String s = null;
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
StringTokenizer st = new StringTokenizer(s);
String s1 = st.nextToken();
String s2 = st.nextToken();
StringBuffer st2 = new StringBuffer(s2);
if(s1.length() != s2.length()){
System.out.println("not equal");
return ;
}
for(int i=0;i<s1.length();i++){
StringBuffer t = new StringBuffer();
t.append(s1.charAt(i));
int index = 0;
if((index =st2.indexOf(t.toString()))!=-1){
st2.deleteCharAt(index);
}else{
System.out.println("not equal");
return ;
}
}
if(st2.length() == 0)
System.out.println("equal");
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(c-'0'>=0&&c-'9'<=0)
System.out.print(c);
}
String s = "dewdrop";
StringBuffer sb = new StringBuffer(s);
String s1 = (sb.reverse()).toString();
System.out.println(s1);
public void fun4() {
int[] a = { 1, 3, 4, 7, 2, 1, 1, 5, 2, 2, 7, 2, 7,4,4,4,4,4 };
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
int maxNumber = a[0], maxCount = 1;
int curNumber = a[0], curCount = 1;
for (int i = a.length - 1; i > 0; i--) {
curNumber = a[i];
if (a[i] == a[i - 1]) {
curCount++;
} else {
if (curCount > maxCount) {
maxCount = curCount;
maxNumber = curNumber;
}
curCount = 1;
}
}
System.out.println("\nmaxCount:"+maxCount+",maxNumber:"+maxNumber);
}
System.out.println(object.getClass().getName());
try{
Method m[] = object.getClass().getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
}catch(Exception e){
}
}
public void fun7(int a, int b) {
int divisor =1;
for (int i = 2; i <= b; i++) {
if(a%i==0 && b%i==0){
divisor = i;
}
}
System.out.println(a+"和"+b+"的最大公约数是:"+divisor);
}
7、实现数组复制
public void fun8(){
int[] a = {1,2,3,4,56,7,8};
int[] b = (int[])a.clone();
Conica.print(a);
Conica.print(b);
b[0]=100;
Conica.print(a);
Conica.print(b);
}
8、冒泡排序的实现
public void fun9(){
int[] a = {1,5,2,6,8,74,1,25,69,8};
Conica.print(a);
for(int i=0; i<a.length-1; i++){
for(int j=0; j<a.length-i-1;j++){
if(a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
Conica.print(a);
}
9、编程显示某一文件目录下的文件名
public void fun10(){
File file = new File("G:\\03月份");
if(file.exists()){
if(file.isDirectory()){
String[] files = file.list();
Conica.println(files);
}
}
}
第二题那样太费时了,只要把两个字符串分别排一下序,然后比较就搞定了。
String s = null;
try {
s = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
StringTokenizer st = new StringTokenizer(s);
String s1 = st.nextToken();
String s2 = st.nextToken();
byte[] sa1 = s1.getBytes();
byte[] sb2 = s2.getBytes();
Arrays.sort(sa1);
Arrays.sort(sb2);
String ss1 = new String(sa1);
String ss2 = new String(sb2);
if(ss1.equals(ss2))
System.out.println("equal");
else
System.out.println("not equal");
第五个有问题,如果是1最多的话不对
11、编程实现统计文本文件中某个单词的出现频率,并输出统计结果
12、编程模仿DOS下的dir命令,列出某个目录下的内容(和第9题类似)
13、编程说明String和StringBuffer字符串的区别
14、编程计算N!的程序,一个使用递归方法,一个不用递归方法
15、编程实现ASCII码和Unicode码之间的转换希望大家解答,答案越精简,效率越快越好
long s=1;
long fuction(int n){
if(n==1)return s;
else
{
s*=n;
n--;
fuction(n);
}
}
不递
long s=1;
for(int i=2;i<=n;i++)
{
s*=i;
}
if(Character.isDigit(s.charAt(i))){
System.out.print(s.charAt(i));
}
}
try{
br=new BfufferedReader(new FileReader("file.txt"));
Map map=new HashMap();
for(String s=br.readLine();s!=null;s=br.readLine()){
StringTokenizer st=new StringTokenizer(s,",. ;");
while(st.hasMoreTokens()){
String temp=st.nextToken();
if(map.containsKey(temp)){
map.set(temp,new Integer((Integer)map.get(temp).intValue()+1));
}else{
map.set(temp,new Integer(1));
}
}
}for(Iterator it=map.entrySet().iterator();it.hasNext();){
Map.Entry entry=(Map.Entry)it.next();
System.out.println(entry.getKey()+"-->"+entry.getValue()+"times");
}}finally{
br.close();
}
public void fun4() {
//int[] a = { 1, 3, 4, 7, 2, 1, 1, 5, 2, 2, 7, 2, 7, 4, 4, 4, 4, 4 };
int[] a = {1,2,3,4,7,9,6};
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
/*原先为:
int maxNumber = a[0], maxCount = 1;
int curNumber = a[0], curCount = 1;
*/
int maxNumber = a[a.length-1], maxCount = 1;
int curNumber, curCount = 1;
for (int i = a.length - 1; i > 0; i--) {
curNumber = a[i];
if (a[i] == a[i - 1]) {
curCount++;
} else {
if (curCount > maxCount) {
maxCount = curCount;
maxNumber = curNumber;
}
curCount = 1;
}
}
System.out
.println("\nmaxCount:" + maxCount + ",maxNumber:" + maxNumber);
}
public class TestExp {
/**
* @param args
*/
int i = 0;
int j = 1;
class Inner {
int f1() {return 1;}
int f2() {return 2;}
int f3() {return 3;}
int f4() {return 4;}
}
static void getClasses(Inner[] ins) {
for(int i = 0 ; i < ins.length ; i++) {
System.out.println(ins[i].getClass());
System.out.println(ins[i].f1());
System.out.println(ins[i].f2());
System.out.println(ins[i].f3());
System.out.println(ins[i].f4());
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
TestExp te = new TestExp();
TestExp.Inner[] ins = {te.new Inner() , te.new Inner()};
te.getClasses(ins);
}
}
具体语法不熟,但是算法如下:
得到字符串长度,然后按顺序循环提取每一个字符,比较是否是数字,如果是,放到一个字符串变量Str中(连接),全部比较完成后,将Str字符串类型转换为数字
你改了以后的程序还是不对,当最小值的个数最多时,就会有问题!
private static int[] str = {4,1,2,4,5,1,1,5,1,3,4,5};
Arrays.sort(str);
int maxNumber = str[str.length-1],maxCount = 1;
int curNumber = str[0],curCount = 1;
for(int i = str.length - 1;i>0;i--){
curNumber = str[i];
if(str[i] == str[i-1]){
curCount ++;
}
else{
if(curCount > maxCount){
maxCount = curCount;
maxNumber = curNumber;
}
curCount = 1;
}
if(curCount > maxCount){ //只对最小值i =1时有效.
maxCount = curCount;
maxNumber = curNumber;
}
} //System.out.println(String.valueOf(str));
for(int i = 0;i < str.length;i++)
System.out.print(str[i]);
System.out.println("maxNumber:"+maxNumber+"maxCount:"+maxCount);
public void fun4() {
int[] a = { 4, 1, 2, 4, 5, 1, 1, 1, 5, 1, 3, 4, 5 };
Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
int maxNumber = a[a.length - 1], maxCount = 1;
int curNumber = a[a.length - 1], curCount = 1;
for (int i = a.length - 1; i > 0; i--) {
curNumber = a[i];
if (a[i] == a[i - 1]) {
curCount++;
} else {
System.out.println("i=" + i + ",curCount=" + curCount
+ ",maxCount=" + maxCount + ",maxNumber=" + maxNumber);
if (curCount > maxCount) {
maxCount = curCount;
maxNumber = curNumber;
}
curCount = 1;
}
}
if (curCount > maxCount) {
maxCount = curCount;
maxNumber = curNumber;
}
System.out.println("curCount=" + curCount + ",maxCount="
+ maxCount + ",maxNumber=" + maxNumber);
}
class Test
{
int[]count={0,0,0,0,0,0,0,0,0,0};
void input(String[] args)
{
for (int i=0; i<args.length; ++i)
{
++count[Integer.parseInt(args[i])];
}
}
void output()
{
int max=0;
for (int i=1; i<10; ++i)
{
if (count[max] <= count[i])
{
max = i;
}
}
System.out.println("\nmaxCount="+count[max]+", maxNumber="+max);
} public static void main(String[] args)
{
test t=new Test();
t.input(args);
t.output();
}
}
import java.util.regex.*;public class String1 {
public void getInt(String s){
String regEx = "[0-9]{1}";
Pattern pattern = Pattern.compile(regEx);
String[] ss = s.split("");
for(int i = 0;i<ss.length;i++){
String a = ss[i];
Matcher matcher = pattern.matcher(a);
if(matcher.find()){
System.out.print(a);
}
}
}
public static void main(String[] args){
String1 test = new String1();
test.getInt("iu7i8hy4jnb2");
}
}
#include <stdlib.h>
#include <string.h>int sort_n( const void *a, const void *b);char list[6][3] = {"ab","av","bc","cd","fn","pl"};int main(void)
{
int x; qsort((void *)list, 6, sizeof(list[0]), sort_n);
for (x = 6; x >=0; x--)
printf("%s\n", list[x]);
return 0;
}
int sort_n( const void *a, const void *b)
{
return(strcmp(a,b));
}
java中是否有字符串拷贝函数
还有是否有排序函数
curCount++;
} else {
System.out.println("i=" + i + ",curCount=" + curCount
+ ",maxCount=" + maxCount + ",maxNumber=" + maxNumber);
if (curCount > maxCount) {
maxCount = curCount;
maxNumber = curNumber;
}
还有if(c-'0'>=0&&c-'9'<=0) 这个怎么理解
public class Class2
{
String s = "iu7i8hy4jnb2"; public Class2()
{
} public static void main(String[] arg)
{
Class2 c = new Class2();
String result="";
int l = c.s.length();
int i = 0;
for (i = 0; i < l; i++)
{
String c1 = c.s.substring(i, i+1);
try
{
Integer.parseInt(c1);
result=result+c1;
}
catch (Exception e)
{
}
}
System.out.println("result:"+result);
}
}
:
public class Class3
{
String s="wpsxkygkadjgoha";
public Class3()
{
}
public static void main(String[] arg)
{
Class3 c=new Class3();
String result="";
for(int i=c.s.length();i>0;i--)
{
String s1=c.s.substring(i-1,i);
result=result+s1;
}
System.out.println(result);
}
}
public class Class4
{
String s = "1,3,4,7,2,1,1,5,2,2,5,56,98,63,6,5,6,3,,5,5,6,5,6,5,5,,2,2,5,5,5,5,6,6,,6,65,6,59,532685,,7,215,7,5,15,7,51,5,7,854,54,84,24,87,,21,5,7,51,57,5,15,7,84,6,59,23,2,687,6,2,3";
int look[][] = new int[100][2];
int currentNum = 0; public Class4()
{
} public static void main(String[] arg)
{
Class4 c = new Class4();
for (int i = 0; i < c.s.length(); i++)
{
try
{
int T=Integer.parseInt(c.s.substring(i,i+1));
c.compareAndInput(T);
}
catch (Exception e)
{
//不是數字就不管
}
}
for(int i=0;i<c.currentNum;i++)
{
for(int j=0;j<2;j++)
{
System.out.print(" result["+i+"]["+j+"]:"+c.look[i][j]);
}
System.out.println("");
}
int maxNum=0;
int maxNumNum=0;
for(int i=0;i<c.currentNum-1;i++)
{
if(c.look[i][1]>maxNumNum)
{
maxNum=c.look[i][0];
maxNumNum=c.look[i][1];
}
}
System.out.println("Max Number is:"+maxNum);
System.out.println("Max Number num is:"+maxNumNum);
} private void compareAndInput(int a)
{
int i = 0;
for (i = 0; i < currentNum; i++)
{
if (look[i][0] == a)
{
look[i][1]++;
break;
}
}
if (i == currentNum) //說明沒有這個數在數組中
{
look[i][0] = a;
look[i][1] = 1;
currentNum++;
}
}
}
public class Class7
{
public Class7()
{
}
private int result(int n)//非遞歸
{
int result=1;
for(int i=1;i<=n;i++)
{
result=result*i;
}
return result;
}
private int dg(int n)
{
if(n==1)
{
return n;
}else
return n*dg(n-1);
}
public static void main(String[] arg)
{
Class7 c=new Class7();
System.out.println("result:"+c.result(10));
System.out.println("dg:"+c.dg(10));
}
}
import java.util.*;public class My {
public boolean a;
My()
{
a = equ("aba", "baa");
System.out.print(a);
} public boolean equ(String s1, String s2)
{
if (s1.length() != s2.length()) return false;
char a1[] = s1.toCharArray();
char a2[] = s2.toCharArray();
Arrays.sort(a1);
Arrays.sort(a2);
for (int i = 0; i < s1.length(); i++)
{
if (a1[i] != a2[i]) return false;
}
return true;
}
public static void main(String[] args)
{
My obj = new My();
}
}
求两个日期之间的天数。输入的都是字符串形式,例如2004/03/21,2006/03/21。求两个之间的天数。
第一中方法可以系统函数。
第二种方法不能用系统函数。
int days(string date1,string date2)
尤其第一个题目
稍微回一点Class 反射就不会难到。
import java.lang.reflect.*;
public class test{
public static void test(Object obj){
Class clazz=obj.getClass();
//System.out.println("类名:"+clazz.getName());
Method[] ms=clazz.getDeclaredMethods();
long len=Array.getLength(ms);
for(int i=0;i<len;i++){
System.out.println("类名:"+clazz.getName()+"方法名:"+ms[i].getName());
}}public static void main(String[] args){
test.test(new A());
}
}class A{
public void b(){}public void c(){}public void d(){}public void e(){}
}
import java.util.Iterator;
import java.util.Map;import javax.swing.JOptionPane;public class Testt {
public static void reverseString(String f, String s) {
Map f_m = new HashMap();
Map s_m = new HashMap();
for (int i = 0; i < f.length(); i++) {
f_m.put(f.charAt(i), f.charAt(i));
}
for (int i = 0; i < s.length(); i++) {
s_m.put(s.charAt(i), s.charAt(i));
}
int count = f_m.size();
System.out.println("f_m="+f_m.size());
System.out.println("s_m="+s_m.size());
if (f_m.size() == s_m.size() ) {
f_m.putAll(s_m);
Iterator it = f_m.keySet().iterator();
while(it.hasNext()){
System.out.println("元素="+it.next());
}
if (f_m.size() == count) {
System.out.println("相等");
} else {
System.out.println("不相等");
}
} else {
System.out.println("不相等");
}
} public static void main(String args[]) {
String firstStr = JOptionPane.showInputDialog("first");
String secondStr = JOptionPane.showInputDialog("second");
reverseString(firstStr, secondStr);
}
}
if (curCount > maxCount) {
maxCount = curCount;
maxCount= curNumber;
}