java笔试,面试小程序

1.输入一个字符串,倒序输出

package com.jn.test;

import java.util.Scanner;
/**
 * 输入一个字符串,倒序输出
 */
public class ReverseOutput{
	    public static void main(String[] args){
	    	Scanner scanner=new Scanner(System.in);
	    	System.out.println("请输入一个字符串:");
	    	String s=scanner.nextLine();
	    	for(int i=s.length()-1;i>=0;i--){
	    	System.out.print(s.charAt(i));
	    }
	    }
}

java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推,


2.打印10000以内的自守数(自守数是指某个数的平方的末尾几位数等于这个数的数。)

第一种:

package com.jn.test;
/**
 * 输出20万以内的自守数:
 * 例如:25*25=625
 */
public class ReverseOutput2 {
	public static void main(String[] args){
	for (int  i= 1;  i< 2000000; i++) {
		int num=i*i;
		String ii=i+"";
		String numm=num+"";
		if(numm.endsWith(ii)){
			System.out.println(ii);
		}
	}
	}
}
java.lang.String.endsWith() 方法返回的测试该字符串是否以指定后缀sffix结束,该方法返回一个boolean类型

第二种:

package com.jn.test;
/**
 * 自守数
 */
public class AutomorphicTree {
	public static void main(String[] args) {
		for(int i = 1; i < 10000; i++){
			String strI = String.valueOf(i);//把int型转化成字符串
			String multiStr = String.valueOf(i*i);
			/*
			 * 截取掉multiStr从首字母起长度为beginIndex的字符串,将剩余字符串赋值给last;
			 */
			String last = multiStr.substring(multiStr.length() - strI.length());
			if(last.equals(strI)){
				System.out.println(i);
			}
		}
	}
}
(1) 由 基本数据型态转换成 String
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法
也就是 String.valueOf() 这个参数多载的方法
有下列几种
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串
String.valueOf(char c) : 将 char 变量 c 转换成字符串
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串
String.valueOf(char[] data, int offset, int count) :
将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
String.valueOf(double d) : 将 double 变量 d 转换成字符串
String.valueOf(float f) : 将 float 变量 f 转换成字符串
String.valueOf(int i) : 将 int 变量 i 转换成字符串
String.valueOf(long l) : 将 long 变量 l 转换成字符串
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
用法如:
int i = 10;
String str = String.valueOf(i);
这时候 str 就会是 "10"
(2) 由 String 转换成 数字的基本数据型态
要将 String 转换成基本数据型态转
大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte
可以使用 Byte.parseByte(String s)
这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException
byte :
Byte.parseByte(String s) : 将 s 转换成 byte
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte
比如说 Byte.parseByte("11", 16) 会得到 17
double :
Double.parseDouble(String s) : 将 s 转换成 double
float :
Double.parseFloat(String s) : 将 s 转换成 float
int :
Integer.parseInt(String s) : 将 s 转换成 int
long :
Long.parseLong(String

3.输入一个正整数,输出其质数(素数)的乘积表达式:

请输入一个整数:
232
232=2*2*2*29


第一种:

package com.jn.test;

import java.util.Scanner;

public class PrimeNum{
	 public static void main(String[] args){
		 Scanner sc=new Scanner(System.in);
		 System.out.println("请输入一个整数:");
		 int num=sc.nextInt();
		 System.out.print(num+"=");
		 int i=2;
		 while(i<=num){
			 if(i==num){
				 System.out.print(i);
				 break;
			 }
			 if(num%i==0){
				 System.out.print(i+"*");
				 num=num/i;
			 }
			 else {
				i++;
			}
		 }
	 }
}
第二种:

package com.jn.test;

import java.util.Scanner;

public class PrimeNum2 {
	    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++;
	            }
	     }
}


posted @ 2017-10-17 19:14  ·卿欢·  阅读(550)  评论(0编辑  收藏  举报