Java_脱产篇_构造方法

这次我们练练有关自定义函数的编程题,下面用具体的例子讨论:
首先我们做一个简单的——反向显示一个数。

import java.util.*;
class Home24{
    /**
    问题:反向显示一个数
     */
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int num=scanner.nextInt();
        int revnum=reverse(num);
        System.out.print("反转后的数字为:"+revnum);
    }
    public static int reverse(int num){
        int revnum=0;
        while(true){
            if(num!=0){
                num%=10;
                revnum=revnum*10+num;
                num/=10;
            }else{
                break;
            }
        }
    return revnum;
    }
}

该问题中,我们主要练习使用自定义函数来实现,其中,用到的主要思想是revnum=revnum*10+num;其他都容易想到。
下面写一个统计字符串中某个字符的出现次数的代码。

import java.util.*;
class Home25{
    /**
    问题:统计并输出用户设定的字符在输入的字符串中出现的次数
     */
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请分别输入你的字符串和设定需要寻找的字符:");
        String str=scanner.nextLine();
        String ch=scanner.next();
        int count=count(str,ch);
        System.out.print("在字符串"+str+"中,字符"+ch+"出现了"+count+"次");
    }
    public static int count(String str,String ch){
        int sum=0;
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)==ch.charAt(0)){
                sum++;
            }
        }
        return sum;
    }
}

上述程序中,有一点需要注意:因为字符不可以直接输入电脑,用某个变量来接收此字符,所以这里使用字符串定义,当我们在输入字符串中遍历此字符时,使用if(str.charAt(i)==ch.charAt(0))这条语句即可解决此问题。
再做一个简单的使用函数判断输入的数字是否为回文数字

import java.util.*;
class Class26{
    /**
    问题:使用函数判断输入的数字是否为回文数字
     */
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int num=scanner.nextInt();
        if(isPalindrome(num)){
            System.out.print("回文");
        }else{
            System.out.print("不是回文");
        }    
    }
    public static boolean isPalindrome(int number){
        return reverse(number)==number;
    }
    public static int reverse(int n){
        int re=0;
        while(true){
            re=re*10+n%10;
            n/=10;
            if(n==0){
                break;
            }
        }
        return re;

    }
}

注意:在使用自定义函数编写程序中,先书写框架,比如在主函数把整个思路写清楚,然后到了哪一个方法(自定义函数)再去构写。如此一来,会使程序简明,尤其是当读者查看时,主函数一目了然,部分功能用到时,转过去再浏览。
自定函数也解决了代码的冗余(一个自定义函数的多次调用)。自定义函数的位置对结果无影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值