找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 11643|回复: 9

LeJOS NXJ支持递归调用!(用NXC的快转型吧。)

  [复制链接]
发表于 2009-11-8 17:47:18 | 显示全部楼层 |阅读模式
本帖最后由 Programus 于 2009-11-8 17:50 编辑

这篇帖子里,flexitime问我LeJOS NXJ里跑Java是否支持递归。我回答说支持,因为LeJOS NXJ的目标就是让你使用基本的Java语言来写NXT程序,那么就是Java支持什么它就应该支持什么。虽然实际上肯定多多少少还是有些限制的,但是递归这么基本的东西不应该不支持。

不过,没有确实验证过的内容,我们不好信口开河,于是写了一个程序证明了一下,发现LeJOS确实很好地支持递归。
试验程序是使用了经典的递归求阶乘的程序,程序如下:
  1. package org.programus.nxj.test;

  2. import lejos.nxt.Button;


  3. public class Test {

  4.     public static void main(String[] args) {
  5.         System.out.println(factorial(5));
  6.         Button.ESCAPE.waitForPressAndRelease();
  7.     }

  8.     public static int factorial(int i) {
  9.         if (i <= 1) {
  10.             return 1;
  11.         } else {
  12.             return i * factorial(i - 1);
  13.         }
  14.     }
  15. }
复制代码
执行后,程序顺利地在屏幕上输出了120。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2009-11-8 22:34:08 | 显示全部楼层
学习和习惯一种新的语言结构不是那么容易啊
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2009-11-9 09:00:22 | 显示全部楼层
学习和习惯一种新的语言结构不是那么容易啊
糖伯虎 发表于 2009-11-8 22:34


学多了就无所谓了。呵呵……
我现在少说也会了3、4种语言了。现在有新语言,如果只需要熟悉并能写简单程序,基本一星期。

另外,其实很多人是NXC也没到习惯的程度的嘛,所以转型不太困难。呵呵……

不过,我也就是这么一忽悠,至于要不要转,还是看个人和需求情况。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2010-1-1 17:22:23 | 显示全部楼层
@@ 意思是说 NXC 不支持递归调用 ???
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2010-1-4 22:19:08 | 显示全部楼层
我也是建议用java,如果用nxc,那还不如使用标准c来写程序(使用标准c有两种方式,一种是用nxtOSEK,另一种是直接用c但需要下载一个模板,请参考http://www.tau.ac.il/~stoledo/lego/nxt-native/
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

头像被屏蔽
发表于 2010-5-16 10:11:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-1-2 17:55:55 | 显示全部楼层
用非递归方法飘过~~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-5-28 20:09:50 | 显示全部楼层
即将从nxc转向lejos的人弱弱的问一下,jejos支持jar包吗……
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2011-8-16 10:15:14 | 显示全部楼层
刚开始学NXC,还是坚持NXC不动摇。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2012-2-16 22:25:53 | 显示全部楼层
liuxiaoyi002 发表于 2011-5-28 20:09
即将从nxc转向lejos的人弱弱的问一下,jejos支持jar包吗……

编程的时候支持jar包作为库来用,最终上传前肯定是要编译成一个文件的,当然jar包也能编译进去。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-1-30 16:38 , Processed in 2.552827 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表