精华内容
下载资源
问答
  • 最经典,最常见的java面试编程题。多学习,多编写,包你搞定笔试编程题。
  • Java笔试编程题(15)

    万次阅读 2018-09-21 15:26:46
    编程 找出1000以内的所有完数。    public class lianxi09 { public static void main(String[] args) {  System.out.println("1到1000的完数有: ");  for(int i=1; i; i++) {  int t = 0;   for(int...

     

    【程序1】   
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   
    //这是一个菲波拉契数列问题
    public class lianxi01 {
    public static void main(String[] args) {
    System.out.println("第1个月的兔子对数:    1");
    System.out.println("第2个月的兔子对数:    1");
    int f1 = 1, f2 = 1, f, M=24;
         for(int i=3; i<=M; i++) {
          f = f2;
          f2 = f1 + f2;
          f1 = f;
          System.out.println("第" + i +"个月的兔子对数: "+f2);
             }
    }
    }

    【程序2】   
    题目:判断101-200之间有多少个素数,并输出所有素数。
    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。   
    public class lianxi02 {
    public static void main(String[] args) {
        int count = 0;
        for(int i=101; i<200; i+=2) {
         boolean b = false;
         for(int j=2; j<=Math.sqrt(i); j++)
         {
            if(i % j == 0) { b = false; break; }
             else            { b = true; }
         }
            if(b == true) {count ++;System.out.println(i );}
                                      }
        System.out.println( "素数个数是: " + count);
    }
    }

     

    【程序3】   
    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

    public class lianxi03 {
    public static void main(String[] args) {
         int b1, b2, b3;
         for(int m=101; m<1000; m++) {
          b3 = m / 100;
          b2 = m % 100 / 10;
          b1 = m %    10;
          if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) {
          System.out.println(m+"是一个水仙花数"); }
         }
    }
    }   

    【程序4】   
    题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
       
    程序分析:对n进行分解质因数,应先找到一个最小的质数k ,然后按下述步骤完成:   
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。   
    (2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。   
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。  

    import java.util.*;
    public     class     lianxi04{
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            System.out.print( "请键入一个正整数:     ");
            int    n    = s.nextInt();
            int k=2;
            System.out.print(n + "=" );
            while(k <= n) {
              if(k == n) {System.out.println(n);break;}//
                else if( n % k == 0) {System.out.print(k + "*");n = n / k; }
                        else    k++;
                       }
         }
        }
    【程序5】   
    题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
    。   
    import java.util.*;
    public class lianxi05 {
    public static void main(String[] args) {
         int x;
         char grade;
         Scanner s = new Scanner(System.in);
         System.out.print( "请输入一个成绩: ");
         x = s.nextInt();  
         grade = x >= 90 ? 'A'
               : x >= 60 ? 'B'
               :'C';
        System.out.println("等级为:"+grade);
      
    }
    }
    【程序6】   
    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。  
     
    在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数
    import java.util.*;
    public    class     lianxi06     {
    public static void main(String[] args) {
    int     a ,b,m;
    Scanner s = new Scanner(System.in);
    System.out.print( "键入一个整数: ");
    a = s.nextInt();
    System.out.print( "再键入一个整数: ");
    b = s.nextInt();
          deff cd = new deff();
          m = cd.deff(a,b);//最大公约数
          int n = a * b / m;//最小公倍数
          System.out.println("最大公约数: " + m);
          System.out.println("最小公倍数: " + n);
    }
    }
    class deff{
    public int deff(int x, int y) {
         int t;
         if(x < y) {
          t = x;
          x = y;
          y = t;
         }  
         while(y != 0) {
          if(x == y) return x;
          else {
           int k = x % y;
           x = y;
           y = k;
          }
         }
         return x;
    }
    }
    【程序7】   
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
       

    package WuYang;

    import java.util.*;

    public class lianxi07 {

        public static void main(String[] args) {

              int abcCount=0;//英文字母个数

              int spaceCount=0;//空格键个数

              int numCount=0;//数字个数

              int otherCount=0;//其他字符个数

              Scanner scan = new Scanner(System.in);//扫描器接受控制台的输入信息

              System.out.println("输入一组字符");

          String str=scan.nextLine();
           char[] ch = str.toCharArray();

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

                  if(Character.isLetter(ch[i])){

                   //判断是否字母

                   abcCount++;

                  }

                  else if(Character.isDigit(ch[i])){

                   //判断是否数字

                   numCount++;

                  }

                  else if(Character.isSpaceChar(ch[i])){

                   //判断是否空格键

                   spaceCount++;

                  }

                  else{

                   //以上都不是则认为是其他字符

                   otherCount++;

                  }

                 }

                 System.out.println("字母个数:"+abcCount);

                 System.out.println("数字个数:"+numCount);

                 System.out.println("空格个数:"+spaceCount);

                 System.out.println("其他字符个数:"+otherCount);

             }

    }

     

    【程序8】   
    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。  
     
    import java.util.*;
    public class lianxi08 {
    public static void main(String[] args) {
         long a , b = 0, sum = 0;
         Scanner s = new Scanner(System.in);
         System.out.print("输入数字a的值: ");
         a = s.nextInt();
         System.out.print("输入相加的项数:");
         int n = s.nextInt();
         int i = 0;
         while(i < n) {//两个中间存储数据的变量
          b = b + a;
          sum = sum + b;
          a = a * 10;
          ++ i;
         }
          System.out.println(sum);
    }
    }
    【程序9】   
    题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程     找出1000以内的所有完数。 
      
    public class lianxi09 {
    public static void main(String[] args) {
         System.out.println("1到1000的完数有: ");
         for(int i=1; i<1000; i++) {
          int t = 0;
          for(int j=1; j<= i/2; j++) {  //如果是求和可以只要循环到i/2  如果是求素数那么循环到math.sqrt(i)
           if(i % j == 0) {
            t = t + j;
           }
          }
          if(t == i) {
           System.out.print(i + "     ");
          }
         }
    }

    }

    【程序10】   
    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?

    public class lianxi10 {

    public static void main(String[] args) {

          double h = 100,s = 0;

          for(int i=1; i<=10; i++) {

          s = s + 2*h;

          h = h / 2;

         }

          s=s-100;

         System.out.println("经过路程:" + s);

         System.out.println("最后高度:" + h);

        

    }

    }  
    【程序11】   
    题目:有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?并把他们都输入。
       
    public class lianxi11 {
    public static void main(String[] args) {
         int count = 0;
         for(int x=1; x<5; x++) {
          for(int y=1; y<5; y++) {
           for(int z=1; z<5; z++) {//可以写出所有的三位数
            if(x != y && y != z && x != z) {   //加入条件的三位数
             count ++;
             System.out.println(x*100 + y*10 + z );
            }
           }
          }
         }
         System.out.println("共有" + count + "个三位数");
    }
    }
    【程序12】   
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?   

    import java.util.*;
    public class lianxi12 {
    public static void main(String[] args) {
         double x = 0,y = 0;
         System.out.print("输入当月利润(万):");
         Scanner s = new Scanner(System.in);
         x = s.nextInt();
         if(x > 0 && x <= 10) {
         y = x * 0.1;
         } else if(x > 10 && x <= 20) {
          y = 10 * 0.1 + (x - 10) * 0.075;
         } else if(x > 20 && x <= 40) {
          y = 10 * 0.1 + 10 * 0.075 + (x - 20) * 0.05;
         } else if(x > 40 && x <= 60) {
          y = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + (x - 40) * 0.03;
         } else if(x > 60 && x <= 100) {
          y = 20 * 0.175 + 20 * 0.05 + 20 * 0.03 + (x - 60) * 0.015;
         } else if(x > 100) {
          y = 20 * 0.175 + 40 * 0.08 + 40 * 0.015 + (x - 100) * 0.01;
         }
         System.out.println("应该提取的奖金是 " + y + "万");
    }
    }

    【程序13】   
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?  
     
    public class lianxi13 {
    public static void main(String[] args) {
         for(int x =1; x<100000; x++) {//为什么是100000
          if(Math.sqrt(x+100) % 1 == 0) {//%1 是为了得到的整数
           if(Math.sqrt(x+168) % 1 == 0) {
            System.out.println(x + "加100是一个完全平方数,再加168又是一个完全平方数");
           }
          }
         }
    }
    }


    【程序14】  
    题目:输入某年某月某日,判断这一天是这一年的第几天?   

    import java.util.*;
    public class lianxi14 {
    public static void main(String[] args) {
         int year, month, day;
         int days = 0;
         int d = 0;
         int e;
         input fymd = new input();
         do {
         e = 0;
         System.out.print("输入年:");
         year =fymd.input();
         System.out.print("输入月:");
         month = fymd.input();
         System.out.print("输入天:");
         day = fymd.input();
         if (year < 0 || month < 0 || month > 12 || day < 0 || day > 31) {
         System.out.println("输入错误,请重新输入!");
         e=1 ;
         }
         }while( e==1);


          for (int i=1; i <month; i++) {
          switch (i) {
          case 1://  多个条件一个值
          case 3:
          case 5:
          case 7:
          case 8:
          case 10:
          case 12:
           days = 31;
          break;
          case 4:
          case 6:
          case 9:
          case 11:
           days = 30;
          break;
          case 2://一个条件多个值
           if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
            days = 29;
           } else {
            days = 28;
           }
           break;
          }
          d += days;
          }
         System.out.println(year + "-" + month + "-" + day + "是这年的第" + (d+day) + "天。");
    }
    }
    class input{
    public int input() {
         int value = 0;
         Scanner s = new Scanner(System.in);
         value = s.nextInt();
         return value;
    }
    }

    【程序15】   
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。  
     
    import java.util.*;
    public class lianxi15 {
    public static void main(String[] args) {
         input fnc = new input();
         int x=0, y=0, z=0;
         System.out.print("输入第一个数字:");
          x = fnc.input();
         System.out.print("输入第二个数字:");
          y = fnc.input();
         System.out.print("输入第三个数字:");
          z = fnc.input();   
        if(x > y) {
          int t = x;
          x = y;
          y = t;
         }
        if(x > z) {
          int t = x;
          x = z;
          z = t;
         }
        if(y > z) {
          int t = y;
          y = z;
          z = t;
         }
        System.out.println( "三个数字由小到大排列为: "+x + " " + y + " " + z);
    }
    }
    class input{
    public int input() {
         int value = 0;
         Scanner s = new Scanner(System.in);
         value = s.nextInt();
         return value;
    }
    }

    展开全文
  • 上海交通银行 JAVA 笔试题总结, 例如:人民币金额数字转换成大写的函数, 字符串截取,中文不会被截取半个等。
  • java笔试涉及编程

    2020-10-21 22:31:21
    4、利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化 答案: class DateFormatTest { public static void main(String[] args) { SimpleDateFormat oldFormatter = ...

    1、如何实现字符串的反转及替换?

    当我们要将一个字符串翻转或者替换时,方法很多,可以自己写实现也可以使用String或StringBuffer/StringBuilder中的方法。有一道很常见的面试题是用递归实现字符串反转,代码如下所示:

    public static String reverse(String originStr) {
              if(originStr == null || originStr.length() <= 1) 
                  return originStr;
              System.out.println(originStr);
              return reverse(originStr.substring(1)) + originStr.charAt(0));
              }
              
    

    在这里插入图片描述

    2、指出下面程序的运行结果

      class A {
        static 
        { 
        System.out.print( "1" );
        }
        public 
        A() {
        System.out.print("2");
        }}
        class B extends  A{
        static 
        {
        System.out.print( "a" );
        }
        public B() {  
        System.out.print("b");
        } }
        public  class Hello { 
        public static void main(String[] args) {   
        A ab = new B();      
        ab = new B();     
        }       
         }
    

    答:执行结果:1a2b2b。创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。

    3、怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串?
    答案:

     String s1 =  "你好" ;
     String s2 =  new String(s1.getBytes("GB2312"),  "ISO-8859-1");
    

    4、利用java.text.DataFormat 的子类(如SimpleDateFormat类)中的format(Date)方法可将日期格式化

    答案:

     class  DateFormatTest {
        public static void main(String[] args) {
    		 SimpleDateFormat oldFormatter =  new SimpleDateFormat("yyyy/MM/dd" );
     		Date date1 = new Date();
     		System.out.println(oldFormatter.format(date1));
     		}
     		}
    

    5、类ExampleA继承Exception,类ExampleB继承ExampleA。
    有如下代码片断:

     try { 
     throw  new ExampleB( "b" )
     } 
     catch(ExampleA e){
    	 System.out.println( "ExampleA");
     } 
     catch(Exception e){
     	System.out.println( "Exception" );
     }
    

    请问执行此段代码的输出是什么?

    答:输出:ExampleA。(根据里氏代换原则[能使用父类型的地方一定能使用子类型],抓取ExampleA类型异常的catch块能够抓住try块中抛出的ExampleB类型的异常)

    6、用Java写一个冒泡排序。

    for(int i=0;i<arr.length-1;i++){//外层循环控制排序趟数
          for(int j=0;j<arr.length-1-i;j++){//内层循环控制每一趟排序多少次
            if(arr[j]>arr[j+1]){
              int temp=arr[j];
              arr[j]=arr[j+1];
              arr[j+1]=temp;
            }
          }
        } 
    

    7、用Java写一个二分查找。

    非递归实现:

    public static int biSearch(int []array,int a){
            int lo=0;
            int hi=array.length-1;
            int mid;
            while(lo<=hi){
                mid=(lo+hi)/2;
                if(array[mid]==a){
                    return mid+1;
                }else if(array[mid]<a){
                    lo=mid+1;
                }else{
                    hi=mid-1;
                }
            }
            return -1;
        }
    

    递归实现:

    public static int sort(int []array,int a,int lo,int hi){
            if(lo<=hi){
                int mid=(lo+hi)/2;
                if(a==array[mid]){
                    return mid+1;
                }
                else if(a>array[mid]){
                    return sort(array,a,mid+1,hi);
                }else{
                    return sort(array,a,lo,mid-1);
                }
            }
            return -1;
        }
    
    展开全文
  • 几套java笔试编程题目,有需要的朋友随便下载
  • **银行春招–java笔试编程题:输入两个数 x,y表示两个有序数列中元素的个数,然后再输入两行含有x,y个有序数字的数据(1<=x,y<=1000);将两个数列中的元素 合并,并去重,并有序输出。 **********************...
  • java常见笔试编程题(一)

    千次阅读 2019-11-12 19:03:04
    java常见笔试编程题(一) 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,例如“人abc”,应该截为“人ab”;输入“人abc们”,应该截为“人abc”,...
    java常见笔试编程题(一)
    1. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,例如“人abc”,应该截为“人ab”;输入“人abc们”,应该截为“人abc”,而不是截为“人ab+们的半个”
    public class Test01 {
    	//按照字节数截取字符串
    	public static void main(String[] args) {
    		String str="我ABC";
    		String str1="我ABC汉DEF";
    		subStringByBytes(str, 4);
    		subStringByBytes(str1, 6);
    	}
    	public static void subStringByBytes(String str,int len){
    		if(str==null){
    			return;
    		}
    		
    		if(len>str.length()){
    			len=str.length();
    		}
    		
    		byte [] bytes=str.getBytes();
    		
    		 //对是否出现截半做分类处理,如果出现了截半情况,则asc码值小于0
    	       if(bytes[len]<0) {
    	           String result = new String(bytes,0, len--);
    	           System.out.println("出现了截半情况,结果为:" + result);
    	       } else {
    	          String result = new String(bytes,0,len);
    	          System.out.println("没有出现截半情况,结果为:" + result);
    	       }
    
    	}
    }
    
    1. 输出指定范围内有多少个素数
    public class Test02 {
    	public static void main(String[] args) {
    		method(101,200);
    	}
    
    	public static void method(int start,int end){
    		int count=0;
    		boolean flag=false;
    		for(int i=start;i<=end;i++){
    			for(int j=2;j<i;j++){
    				if(i%j==0){
    					flag=false;
    					break;
    				}else{
    					flag=true;
    				}
    			}
    			if(flag){
    				count++;
    				System.out.println(i);
    			}
    		}
    		
    		System.out.println(start+"到"+end+"之间有"+count+"个素数");
    		
    	}
    }
    

    3.判断一个数是不是2的次方

    public class Test03 {
    	public static void main(String[] args) {
    		boolean b = method(16);
    		if(b){
    			System.out.println("是");
    		}else{
    			System.out.println("不是");
    		}
    	}
    	
    	public static boolean method(int num){
    		boolean flag = false;
    		if((num&(num-1))==0&&num>0){
    			flag=true;
    		}
    		return flag;
    		
    	}
    //	public static boolean method(int num){
    //		int k = 1;
    //		boolean flag = false;
    //		while(k <= num) {
    //			if(num == k){
    //				flag = true;
    //			}
    //			k = k * 2;
    //		}
    //
    //		return flag;
    //		
    //	}
    }
    
    1. 每一个偶数都能拆分成两个素数之和
    public class Test04 {
    	public static void main(String[] args) {
    		int num=24;
    		if(num%2==0&&num>0){
    			method(num);
    		}
    	}
    
    	public static void method(int num){
    		if(num!=2){
    			List<Integer> primes = getPrime(num);
    			for (int i = 0; i < primes.size(); i++) {
    				for (int j = 0; j < primes.size(); j++) {
    					if(primes.get(i)+primes.get(j)==num){
    						System.out.println(primes.get(i)+"+"+primes.get(j)+"="+num);
    					}
    				}
    			}
    		}else if(num==2){
    			System.out.println("2是素数,且不能拆分");
    		}
    	}
    
    	public static List<Integer> getPrime(int num){
    		List<Integer> list=new ArrayList<>();
    		for(int i=2;i<=num;i++){
    			boolean b=true;
    			for(int j=2;j<i;j++){
    				if(i%j==0){
    					b=false;
    					break;
    				}
    			}
    			if (b) {
    				list.add(i);
    			}
    		}
    		return list;
    	}
    }
    

    5.代码实现jdbc,并进行基本的操作

    public class Test05 {
    	public static void main(String[] args) {
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "");
    			Statement statement = conn.createStatement();
    			String sql="select s_id from student";
    			ResultSet rs = statement.executeQuery(sql);
    			while(rs.next()){
    				int id = rs.getInt(1);
    				System.out.println(id);
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }
    
    1. 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
    public class Test06 {
    	public static void main(String[] args) {
    		String str="中国 aadf 的111萨 bbb 菲的 zz 萨菲";
    		Map<String, Integer> map = method(str);
    		Set<Entry<String,Integer>> set=map.entrySet();
    		for(Entry<String,Integer> e:set){
    			System.out.println(e.getKey()+":"+e.getValue());
    		}
    	}
    	public static Map<String,Integer> method(String str){
    		Map<String,Integer> map=new HashMap<>();
    		for(int i=0;i<str.length();i++){
    			char c=str.charAt(i);
    			Integer num=map.get(String.valueOf(c));
    			if(num==null){
    				num=1;
    			}else{
    				num=num+1;
    			}
    			map.put(String.valueOf(c), num);
    		}
    		return map;
    	}
    }
    

    7.有数组 a[n],将数组元素顺序颠倒

    public class Test07 {
    	public static void main(String[] args) {
    		int [] a={1,2,3,4,5};
    		int[] newArray = method(a);
    		System.out.println(Arrays.toString(newArray));
    	}
    	public static int[] method(int [] a){
    		int temp;
    		int len=a.length;
    		for(int i=0;i<len/2;i++){
    			temp=a[i];
    			a[i]=a[len-1-i];
    			a[len-1-i]=temp;
    		}
    		return a;
    	}
    }
    

    8.金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。

    public class Test08 {
    	public static void main(String[] args) {
    		int money=2350230;
    		String renMingBi = method(money);
    		System.out.println(renMingBi);
    	}
    	
    	public static String method(int money){
    		char[] data = new char[]{'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
    		char[] units = new char[]{'元','拾','佰','仟','万','拾','佰','仟','亿'};
    		StringBuffer sb=new StringBuffer();
    		int unit=0;
    		while(money!=0){
    			sb.insert(0, units[unit++]);
    			int num=money%10;
    			sb.insert(0, data[num]);
    			money/=10;
    		}
    		return sb.toString();
    	}
    }
    
    1. 给定一个字符串,打印 这个字符串的全排列。例如,输入为abc,输出为: abc acb bac bca cba cab
    public class Test9 {
    	public static void main(String[] args){
    		String str = "abc";
    		List<String> result = new ArrayList<>();
    		getAllList(result, str.toCharArray(), 0);
    		for(String each : result){
    			System.out.println(each);
    		}
    	}
    	public static void getAllList(List<String> result, char[] strs, int begin){
    		if(begin == strs.length-1){
    			result.add(String.valueOf(strs));
    		}
    		for(int i = begin; i < strs.length; i++){
    			swap(strs, i, begin);
    			getAllList(result, strs, begin+1);
    			swap(strs, i, begin);
    		}
    	}
    
    	private static void swap(char[] strs, int index1, int index2) {
    		char temp = strs[index1];
    		strs[index1] = strs[index2];
    		strs[index2] = temp;
    	}
    
    
    }
    

    10.判断一个字符数组元素是否重复

    public class Test11 {
    	public static void main(String[] args) {
    		char[] chars={'1','3','3'};
    		System.out.println(method(chars));
    	}
    	
    	public static boolean method(char [] chars){
    		boolean flag=true;
    		StringBuffer sb=new StringBuffer();
    		for(int i=0;i<chars.length;i++){
    			sb.insert(0, chars[i]);
    		}
    		String str=sb.toString();
    		for(int i=0;i<str.length();i++){
    			if(i!=str.lastIndexOf(str.charAt(i))){
    				flag=false;
    			}
    		}
    		return flag;
    	}
    }
    
    展开全文
  • 男女挨着坐成环,求...import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Main { /** 请完成下面这个函数,实现题目要求的功能 **/ /*...

    男女挨着坐成环,求男生挨着连续最多女生个数,如输入bgbbbgbggbgbg,输出3

    import java.io.*;
    import java.util.*;
    import java.text.*;
    import java.math.*;
    import java.util.regex.*;
    
    public class Main {
    
    /** 请完成下面这个函数,实现题目要求的功能 **/
     /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/
        static String getIndexAndLongest(String users) {
    
        	return null;
        }
        static void reset(List<Main.MyItem> ls) {
        	 for(int i=0;i<ls.size();i++) {
             	
             	Main.MyItem tItem = ls.get(i);
             	tItem.setIscheck(false);
             		
             	
             }
        }
        
        public static void main(String[] args){
    //        Scanner in = new Scanner(System.in);
    //        String res;
    //            
    //        String _users;
    //        try {
    //            _users = in.nextLine();
    //        } catch (Exception e) {
    //            _users = null;
    //        }
        	String _users = "bgbbbgbggbgbg";
    //        res = getIndexAndLongest(_users);
    //        System.out.println(res);
            
            List<Main.MyItem> ls = new ArrayList<Main.MyItem>();
            
            for(int i=0;i<_users.length();i++) {
            	Main.MyItem tItem = new Main.MyItem();
            	tItem.setSex(String.valueOf(_users.charAt(i)));
            	tItem.setIndex((String.valueOf(i)));
            	tItem.setIscheck(false);
            	ls.add(tItem);
            }
            for(int i=0;i<ls.size();i++) {
            	Main.MyItem tItem = ls.get(i);
            	if(i==0) {
            		ls.get(i).setPre(ls.get(ls.size()-1));
            	}else {
            		ls.get(i).setPre(ls.get(i-1));
    			};
    			if(i==(ls.size()-1)) {
    				ls.get(i).setNext(ls.get(0));
    			}else {
    				ls.get(i).setNext(ls.get(i+1));
    			};
    			
            }
            
            List<Integer> re= new ArrayList<Integer>();
            Integer max_g = 0;
            for(int i=0;i<ls.size();i++) {
            	int r = 0;
            	Main.MyItem tItem = ls.get(i);
            	if(tItem.getSex().equals("b")) {
            		Main.MyItem t_pre = tItem.getPre();
            		while (t_pre.getSex().equals("g")&&t_pre.getIscheck()==false) {
    					r +=1;
    					t_pre.setIscheck(true);
    					t_pre = t_pre.getPre();
    					
    				}
            		
            		Main.MyItem t_next = tItem.getNext();
            		while (t_next.getSex().equals("g")&&t_next.getIscheck()==false) {
    					r +=1;
    					t_next.setIscheck(true);
    					t_next = t_next.getNext();
    					
    				}
            	}
            	re.add(r);
            	max_g = Math.max(r, max_g);
            	reset(ls);
            		
            	
            	
            }
            System.out.println(max_g);
           
            
        }
        public static class MyItem{
        	public String getIndex() {
    			return index;
    		}
    		public MyItem() {
    			
    		}
    		
    		public void setIndex(String index) {
    			this.index = index;
    		}
    		public String getSex() {
    			return sex;
    		}
    		public void setSex(String sex) {
    			this.sex = sex;
    		}
    		public MyItem getPre() {
    			return pre;
    		}
    		public void setPre(MyItem pre) {
    			this.pre = pre;
    		}
    		public MyItem getNext() {
    			return next;
    		}
    		public void setNext(MyItem next) {
    			this.next = next;
    		}
    		String index;
        	String sex;
        	MyItem pre;
        	MyItem next;
        	Boolean ischeck;
    		public Boolean getIscheck() {
    			return ischeck;
    		}
    		public void setIscheck(Boolean ischeck) {
    			this.ischeck = ischeck;
    		}
        }
    }
    
    展开全文
  • java在线笔试编程题目,难度一般

    千次阅读 2019-03-29 16:54:11
    import java.util.Scanner; public class Test01 { /** * 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ...
  • Java程序员面试笔试宝典2018最新版Java程序员面试笔试宝典
  • java笔试代码与编程

    2008-09-16 17:57:02
    java笔试代码与编程题,一些公司以前的招聘笔试面试编程题。希望对你有所帮助。
  • 2020 兴业银行Java笔试题,记得几道题目,各位有兴趣的同学下载看看。
  • 常见java笔试-编程

    千次阅读 2014-11-26 21:29:01
    Java技术圆桌会-微信群,欢迎大家的加入,专注技术讨论和学习。 加入的同学可以先加我微信:luxun758521 备注-圆桌会,然后拉你进群。 1-以指定编码,输出字符串 <span style="font-size:18px;"><...
  • Java编程笔试中常用输入格式

    千次阅读 2019-04-15 09:52:27
    每行输入带有空格的数字 示例输入 6 2 1 3 2 4 3 5 2 6 1 public static void main(String[] args) { Scanner in = new Scanner(System.in);... int count = Integer.parseInt(in.nextLine())-1;...
  • 思路: ...这道题巨坑,我本来用看到题后用vector存储所有课程,然后排序,贪心遍历。...这道题和头条笔试第一题世界杯开幕式有点儿像,贴上一个链接, 点击 Leetcode 695 题解,自行搜索吧
  • java常见的面试编程

    热门讨论 2012-04-23 14:16:15
    该代码是用java工程,里面有很多的编程题,也是大家常遇到的,如冒泡排序、查找素数等。想关常见的编程题,希望给你带来学习上的方便,同时也希望你对该代码不足的地方与我联系,并指正。
  • java算法 面试必备 安卓面试 必备算法
  • 中国银行Java笔试

    2019-09-03 10:42:56
    中国银行Java笔试
  • xx银行JAVA招聘笔试

    2019-10-24 16:41:23
    xx银行JAVA招聘笔试
  • 2018兴业银行Java笔试
  • 中国农业银行软件测试Java笔试
  • 老虎证券 2018 java编程笔试

    千次阅读 2019-03-02 11:44:56
    有一个首尾相接的字符序列,全部元素已大写字符表示,要求截取一段包含ABCDE的连续子串,返回这一子串的长度,例如ABCYDYE,返回6,ATTMBQECPD返回7. public class Test { public static void main(String[] ...
  • java笔试题以及答案详解 一 一单项选择题 1. JaVa是从语言改进重新设计 Ada B . C++ C . PaSaCaI D . BASlC 答案B 2 .下列语句哪一个正确 JaVa程序经编译后会产生 machine Code JaVa程序经编译后会产生 byte code C ...
  • 2020 兴业数金Java在线笔试题,整理的比较简单,各位有兴趣的同学可以下载参考看看。
  • JAVA编程面试题全集(100题及答案) 100道Java编程面试题集 可以自己学习下练练手。
  • 招银网络java科技笔试题 :party_popper: code-resources :laptop: 免费编程资源 温馨提示:多用 Ctrl + F 快捷键,资源排名不分先后,只取决于添加的时间 ~ 说明 如果遇到链接失效或有其他问题,建议提交 Issue 或者...
  • 康博嘉java笔试题 布局 永久链接 机器 页 / ID 类型 恢复 名称 配置 ibm5150 pcx86 1 IBM PC(型号 5150)带单色显示屏 /devices/pcx86/machine/5150/mda/64kb/machine.xml ID 类型 配置 演示C1P c1p /devices/c1p/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,076
精华内容 12,430
关键字:

java笔试编程

java 订阅