`
宁辉522
  • 浏览: 15646 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

用递归的方法实现输入输出回文

阅读更多
关于回文,我是第一次听说,可能会有人说,学习java这是最基本的程序。呵呵,很抱歉!我没有接触过正规的培训,只是自学的。但是今天正好我有同学需要我帮她写回文的程序,我有幸接触到回文,接触递归的,我对递归不是第一次了,以前学习c的时候就接触过,不过以前学习得时候晕头晕脑的,不知所云,就那样混过去了,今天我又和递归见面了。我就在网上搜遍了有关这些东西,看了很过,最后还是有点吃力。

最终还是把程序写出来了,有两种方法。

第一种方法:

package com.lianxi;


public class Ashuchu
{
     public static void main(String args[]) throws Exception
    {
     byte[] b = new byte[2];
      int c = System.in.read(b);
      String str=new String(b,0,c);
     print('a', str.charAt(0));
    }


     public static void print(char start, char end)
      {
         System.out.print(start);
         if(start<end)
         
        print((char)(start+1), end);
          System.out.print(start);
      }
}

注:从键盘输入:z

输出结果:abcdefghijklmnopqrstuvwxyzzyxwvutsrqponmlkjihgfedcba




第二种方法:

package com.lianxi;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class huiwen
{
   public static void main(String args[]) throws Exception
     {
    String str;
     BufferedReader r=new BufferedReader(new InputStreamReader(System.in),256);
    
  str=r.readLine();
  
   char b=str.charAt(0);

  print('0',b);
      }


      public static void print(char start, char end)
       {
          System.out.print(start);
          if(start<end)
          
         print((char)(start+1), end);
           System.out.print(start);
       }

}
注:从键盘输入:9

      输出结果是:01234567899876543210


  • 大小: 34.1 KB
  • 大小: 34.4 KB
2
1
分享到:
评论
4 楼 if(i!=我){} 2012-12-01  
jackra 写道
我记得回文这东西,是考压栈和出栈的。
楼上的盆友,个人不是很赞同,毕竟别人劳动的成果是值得人尊敬的。

递归的结构清晰易懂,但效率的确不高。
3 楼 freezingsky 2012-12-01  
byte[] data=//read in...
String data=new String(data)
data.reverse()....
2 楼 jackra 2012-11-30  
我记得回文这东西,是考压栈和出栈的。
楼上的盆友,个人不是很赞同,毕竟别人劳动的成果是值得人尊敬的。
1 楼 zhou405680603 2012-11-30  
我感觉能用for循环解决的问题还是不要用递归,递归的层次深了很耗栈空间的

相关推荐

    C++实现的回文判断

    main 函数和输入输出部分与上面相同 ... ``` 以上两种方法各有优缺点。双指针法时间复杂度较低,只需O(n),而翻转字符串法需要额外的O(n)空间来存储翻转后的字符串,因此在处理大量数据时,双指针法更为高效。 在...

    回文判断_C语言_

    首先,我们需要包含C语言的头文件`&lt;stdio.h&gt;`和`&lt;string.h&gt;`,前者用于输入输出操作,后者提供了处理字符串的函数。 ```c #include #include // 定义回文判断函数 int isPalindrome(char str[]) { int length =...

    程判断输入的一串字符是否为“回文”。所谓“回文”是指顺序读和逆序读都一样的字符串。如:“12321”和“abcdcba”都是回文。

    在C++中,我们可以使用多种方法来实现这个功能。以下是一些关键知识点和详细的实现方式: 1. **字符串基本操作**:在C++中,字符串可以使用`std::string`类型来表示。通过`std::string`类提供的各种成员函数,我们...

    同时使用栈和队列实现回文

    - 1.cpp:这是主程序文件,可能包含了实现回文检测算法的代码,以及输入和输出的处理。 - LinStack.h:这可能是自定义栈类的头文件,定义了栈的结构和基本操作,如push、pop等。 - LinQueue.h:这可能是自定义队列类...

    递归函数例子8个.rar

    递归函数的基线条件是当输入的整数为0时结束递归,否则每次递归都将整数除以10并取余数作为新整数的最高位,然后继续对商进行相同操作。 2. **递归函数例6**: 未提供具体细节,但可能涉及排序算法(如快速排序、...

    C语言数据结构编程题

    我们可以使用递归的方法来实现这个问题。递归函数convert将整数n逆序后放入数组result中。main函数中,我们首先定义了一个整数n,然后调用convert函数将其逆序后输出。 知识点:递归、数组、整数逆序 2. 求高于...

    回文数据挖掘的算法与应用.pptx

    这可以通过计算序列之间的回文相似度,并使用K-Means或层次聚类等方法实现。 - **发现回文模式** - 通过聚类算法不仅可以对相似的回文序列进行分组,还能进一步发现隐藏在数据中的回文模式。 以上内容涵盖了回文...

    java 平时实验 乘法表 回文 闰年判断 字符统计

    这是JAVA实验的部分题目的代码。 编程打印数字1-9的乘法表,注意输出格式。 编写一个字符界面的Application程序,接受用户输入的10个整数,比较并输出其中的...采用递归方法编程,检查一个任意给定的字符串是否是回文。

    计算机类面试题目集,面试题目,计算机类

    该题目考察了递归编程的基本概念和实现方法。递归函数的定义和调用是该题目的关键所在。 2. 求高于平均分的学生学号及成绩 这道题目考察了递归函数的应用和数据结构的使用。该题目要求从输入的学生学号和成绩中,...

    特殊回文数.zip

    “特殊回文数.c”很可能包含了一个解决特定问题的C语言实现,可能是要求找出一个序列或者在一定条件下生成回文数。通常这类问题会涉及到字符串处理、数学逻辑或者递归等算法。例如,问题可能要求找到所有在某种运算...

    回文数的判断与在一定范围内找出回文数整理

    在一定范围内找出所有的回文数,可以使用循环,对每个数应用上述判断方法。例如,找出1到10000之间的回文数: ```c void findPalindromes(int start, int end) { for (int i = start; i ; i++) { if ...

    c语言描述回文数的三种算法

    下面是三种不同的算法实现,分别使用递归函数、循环和数学关系来解决回文数的问题。 1. 第一种算法:递归函数 该算法使用递归函数来计算回文数的个数。函数reverse将输入的数字逆转,并与原数字比较,如果相等,则...

    C语入门教程

    **知识点:** 输入输出、递归函数、平均值计算 - **输入输出**:通过 `scanf` 和 `printf` 函数读取用户输入的数据,并显示处理结果。 - **递归函数**:这里使用递归来不断收集数据并计算平均值,同时检查每个学生的...

    部分IT公司算法笔试试题

    这里采用递归方法,先输出单个字符的情况,然后递归处理剩下的字符,生成所有可能的组合。 【分解质因数】 题目五通过递归实现质因数分解。不断将一个数除以其最小因子,直到无法再除,然后将这个因子乘积到结果中...

    java实现回文数.md

    #### Java 实现方法 ##### 方法一:反转数字法 一种常见的方法是通过反转数字来判断其是否为回文数。下面的Java代码展示了如何实现这一功能: ```java public class PalindromeNumber { public static boolean ...

    华为OD机试C卷- 没有回文串(Java & JS & Python & C).md-私信看全套OD代码及解析

    #### 输入输出格式 - **输入**: - 第一行包含一个整数N (1 ),表示字符串中每个字符范围都是前N个英语字母。 - 第二行包含一个字符串S (长度 ),该字符串符合上述条件且不含回文子串。 - **输出**: - 输出下...

    软件工程师经典笔试算法题

    解决这个问题的思路是使用递归函数,对输入的数进行分解然后输出结果。 六、寻找迷宫的一条出路 这个算法题考察了软件工程师对递归编程和图形处理的理解和掌握情况。题目要求寻找迷宫的一条出路,例如输入一个迷宫...

    01_Python程序设计1

    这需要我们了解如何使用 Python 来实现游戏逻辑,包括输入输出、条件判断和循环等操作。同时,我们还需要了解如何使用 Python 来实现游戏中的随机数生成和比较操作。 知识点:Python 游戏开发、输入输出、条件判断...

    知名It公司笔试题_--数据结构经典算法题集.doc

    `find`函数使用递归实现,当需取出的字符数为1时,直接打印结果;否则,遍历源字符串,生成新的组合并递归调用。 5. 质因数分解: 第五题是质因数分解,递归函数`prim`用于找到能整除m的最大质因数n,然后递归处理...

Global site tag (gtag.js) - Google Analytics