摘要:本文主要向大家介绍了JAVA语言算法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了JAVA语言算法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
一、输入一个字符串,判断是否为回文,回文就是从左往右读跟从右往左读是一样的,如:abcba;
主要思路:
1.从键盘上输入字符串;
2.将利用循环,判断字符串第一个与倒数第一个是否一样,第二个与倒数第二个是否一样,以此类推,循环字符串长度的一半;
方法一:
Scanner sn=new Scanner(System.in);
System.out.println("please enter you char :");
String str=sn.nextLine();
int count=0;
int length=str.length();
for (int i = 0; i < length/2; i++) {
if(str.charAt(i)==str.charAt(length-i-1)){
count++;
}
}
if(count==length/2){
System.out.println("the char is huiwen");
}else{
System.out.println("the char isn't huiwen");
}
方法二:
Scanner sn=new Scanner(System.in);
System.out.println("please enter you char :");
String str=sn.nextLine();
StringBuffer sb=new StringBuffer(str);
sb.reverse();
int count=0;
int length= str.length();
for (int i = 0; i <length/2 ; i++) {
if(str.charAt(i)==sb.charAt(i)){
count++;
}
}
if(count==length/2){
System.out.println("the char is huiwen");
}else{
System.out.println("the char isn't huiwen");
}
这里也可直接判断str.equals(sb); 因为reverse()方法可以翻转字符串,与回文是一样的道理;
执行结果:
二、输入一个整形数组,找出数组中第二大的数;
主要实现方式:
1.从键盘输入数组;
[1 ] 创建一个字符串获取输入的值;
[2 ] 创建一个字符串数组,将字符串用空格隔开放入数组中;
[3 ] 创建整形数组,长度为字符串数组的长度;
[4 ] 循环字符串数组,将元素类型转换放入整形数组中;
2.创建两个参数令他们等于数组的第一个数,然后循环数组,判断第一大的 数和第二大的数,下列代码就能很直观的看出来了;
System.out.println("请输入整形数组:");
sn = new Scanner(System.in);
String m=sn.nextLine();
String [] arry=m.split(" ");
int [] a=new int[arry.length];
for (int i = 0; i < arry.length; i++) {
a[i]=Integer.parseInt(arry[i]);
}
//判断第一大的数,和第二大的数
int max_second;
int max=max_second=a[0];
for (int i = 1; i < a.length; i++) {
if(a[i]>max_second){
if(a[i]>max){
max_second=max;
max=a[i];
}else{
max_second=a[i];
}
}
}
System.out.println("max_second = "+max_second+"\n"+"max = "+max);
执行结果:
三、输入一个数n然后求n!;
利用返回值的方式,相当于做for循环求阶乘;
public static long fac(int num){
if(num<=0){
return 0;
}
if(num==1){
return 1;
}
return num*fac(num-1);
}
四、有四个数字1,2,3,4 求出他们排列组合出的几个不相同的四位数;
int i ,j ,k,l;
int n=0;
for (i = 1; i<=4; i++) {
for (j = 1; j<= 4; j++) {
for (k = 1; k<= 4; k++) {
for(l=1;l<=4;l++){
if(i!=j&&j!=k&&k!=i&&j!=l&&i!=l&&k!=l){
n++;
System.out.println(""+i+""+j+""+k+""+l);
}
}
}
}
}
System.out.println("num = "+n);
五、统计文章里不同的单词数,然后输出单词数的多少;
ArrayList<Integer> countLists=new ArrayList<Integer>();
int count;
HashMap<String, String> m;
String str;
String[] a;
System.out.println("请输入要检索的文章:");
Scanner sc=new Scanner(System.in);
while(!(str=sc.nextLine()).equals("#")){
a=str.split(" ");
m=new HashMap<String,String>();
count=0;
for (int i = 0; i <a.length; i++) {
if(!m.containsKey(a[i])&&(!a[i].equals(" "))){
m.put(a[i], ""+count);
count++;
}
countLists.add(count);
}
System.out.println(count);
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号