免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14823 | 回复: 14
打印 上一主题 下一主题

初学者问一个字符串算法问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-28 18:43 |只看该作者 |倒序浏览
这是今天我面试碰到的一个题目,我没做出来555

假如有N个数1,2,3,4,5,6...

要写一个方法,返回
<li><a>1</a><a>2</a><a>3</a></li>
<li><a>4</a><a>5</a><a>6</a></li>
<li><a>7</a><a>8</a><a>9</a></li>

利用字符串循环处理,每个数加上<a>标签,每3个数首尾加上<li>标签

论坛徽章:
0
2 [报告]
发表于 2008-03-29 09:33 |只看该作者
for i=1 .... n
x = i % 4

论坛徽章:
0
3 [报告]
发表于 2008-04-06 03:57 |只看该作者

faint

晕死啊,楼上这个不是java吧,是python,perl什么的,java没有这么灵活的,顶多
int i[] = {1,2,3,4,5,6,7,8,9};
for (int x:i){

}

论坛徽章:
0
4 [报告]
发表于 2008-04-06 14:56 |只看该作者
楼主不用伤心,出题的人也有不怎么样的。
再说,答案没有最好,只有更好,呵呵。
自己努力学习学习吧!

这样一个要求,其实也没有什么难的,工作中可能经常遇到,多留意就好了!

论坛徽章:
0
5 [报告]
发表于 2008-04-07 07:12 |只看该作者
public class test
{
      public static void  main(String[] arg)  
      {
               String  str ;
      for(int i=1;i<13;i=i+3)
      {
         str ="<li>";
         for(int k=i;k<i+3;k++)
        {
          str=str+"<a>"+k+"</a>";
        }
         str= str+"</li>";
         System.out.println(str);
      }   

      }
}  写了不好。。。

论坛徽章:
0
6 [报告]
发表于 2008-04-07 09:10 |只看该作者
原帖由 pinkdawn 于 2008-4-6 04:57 发表
晕死啊,楼上这个不是java吧,是python,perl什么的,java没有这么灵活的,顶多
int i[] = {1,2,3,4,5,6,7,8,9};
for (int x:i){

}


伪指令

论坛徽章:
0
7 [报告]
发表于 2008-04-09 19:32 |只看该作者
原帖由 yujian_001 于 2008-4-7 07:12 发表
public class test
{
      public static void  main(String[] arg)  
      {
               String  str ;
      for(int i=1;i


不是有无数个数么?

论坛徽章:
0
8 [报告]
发表于 2008-05-09 22:31 |只看该作者
class aa{
public static void main(String [] args){
String ab="1,2,3,4,5,6,7,8,9";
int a=ab.length();
for(int i=0;i<a;i=i+6)
System.out.println("<li><a>"+ab.charAt(i)+"</a><a>"+ab.charAt(i+2)

+"</a><a>"+ab.charAt(i+4)+"</a></li>");

}
}

论坛徽章:
0
9 [报告]
发表于 2008-11-09 03:14 |只看该作者
System.out.print("<li><a>1</a><a>2</a><a>3</a></li>\n
<li><a>4</a><a>5</a><a>6</a></li>\n
<li><a>7</a><a>8</a><a>9</a></li>\n");


最简方法

论坛徽章:
0
10 [报告]
发表于 2008-11-09 22:06 |只看该作者
  1. public class hello {
  2.        
  3.         public static String li() {
  4.                 StringBuffer sb = new StringBuffer();
  5.                 for(int k = 1; k < 10; k++) {
  6.                         int row = (int) k%3;
  7.                         if(row == 1) {
  8.                                 sb.append("<li>");
  9.                         }
  10.                         sb.append("<a>").append(k).append("</a>");
  11.                         if(row == 0) {
  12.                                 sb.append("</li>\n");
  13.                         }
  14.                        
  15.                 }
  16.                 return sb.toString();
  17.         }
  18.        
  19.         public static void main(String[] args) {
  20.                 String resp = hello.li();
  21.                 System.out.println(resp);
  22.         }
  23. }
复制代码

[ 本帖最后由 raohongfu 于 2008-11-9 22:36 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP