问题列表 - 第8061页

什么是在Java中递归反转字符串的最佳方法?

我今天一直在搞乱递归.通常编程技术不够用.

我开始以递归方式反转一个字符串.这是我想出的:

//A method to reverse a string using recursion
    public String reverseString(String s){
        char c = s.charAt(s.length()-1);
        if(s.length() == 1) return Character.toString(c);   

        return c + reverseString(s.substring(0,s.length()-1));
    }
Run Code Online (Sandbox Code Playgroud)

我的问题:Java有更好的方法吗?

java string recursion

24
推荐指数
3
解决办法
10万
查看次数

Java枚举和切换语句 - 默认情况?

对于建议抛出异常的人:
抛出异常不会给我一个编译时错误,它会给我一个运行时错误.我知道我可以抛出一个异常,我宁愿在编译期间死也不会在运行时死掉.

首先,我使用的是eclipse 3.4.

我有一个数据模型,其模式属性是枚举.

enum Mode {on(...), off(...), standby(...); ...}
Run Code Online (Sandbox Code Playgroud)

我目前正在写这个模型的视图,我有代码

...
switch(model.getMode()) {
case on:
   return getOnColor();
case off:
   return getOffColor();
case standby:
   return getStandbyColor();
}
...
Run Code Online (Sandbox Code Playgroud)

我收到错误"此方法必须返回类型java.awt.Color的结果",因为我没有默认情况,并且在函数末尾没有返回xxx. 在有人为枚举添加另一种类型的情况下出现编译错误(例如关闭)所以我不想放置抛出AssertionError的默认情况,因为这将使用修改后的模式进行编译而不会被视为错误直到运行时.

我的问题是:
为什么EclipseBuilder(和javac)没有意识到这个开关涵盖了所有可能性(或者它是否涵盖了它们?)并且停止警告我需要返回类型.有没有办法,我可以做我想要的,而无需向Mode添加方法?

如果失败了,是否有一个选项可以在不包含所有Enum可能值的switch语句上发出警告/错误?

编辑:Rob:这是一个编译错误.我只是尝试用javac编译它,我得到一个"缺少返回语句"错误,目标是方法的最后一个}.Eclispe只是将错误放在方法的顶部.

java enums

56
推荐指数
4
解决办法
4万
查看次数

Ubuntu 9.04的正确Putty配置

我经常使用Putty(http://www.chiark.greenend.org.uk/~sgtatham/putty/)连接到Ubuntu盒子(现在9.04).它运行良好,但我无法弄清楚Ubuntu端的Putty字体,字符编码,字符转换和终端配置的正确组合,以便终端正确显示所有内容.运行诸如"screen-profiles"或"w3m"之类的ncurses程序时,问题最为明显.框图绘制字符搞砸了.

有没有人让这种组合满意?

ubuntu putty

21
推荐指数
3
解决办法
1万
查看次数

什么是设置本地subversion服务器最简单的方法?

我真的不太熟悉这些东西,我只是想在我的电脑上本地设置一个svn服务器.另外我想设置它并将其直接集成到Visual Studio 2008中(如果可能的话)?

谢谢你的帮助!

svn version-control

11
推荐指数
4
解决办法
2万
查看次数

JQuery和Ajax

我正在jquery对话框中添加异步表单提交.我正在使用.ajax().一切都正常,但提交时间比我想要的要长.我是jquery的新手,我不确定如何调试/优化它.如何确定滞后是在前端还是后端?

谢谢,

娜塔莎

ajax jquery

1
推荐指数
2
解决办法
167
查看次数

找不到我的PYTHONPATH

我正试图改变我的PYTHONPATH.我试图在"我的电脑"等中更改它,但它并不存在.我在一些地方在注册表中搜索,甚至整个搜索"PYTHONPATH"这个词,但无济于事.

但是,Python我很容易看到它的存在.那它在哪里?

python windows path

9
推荐指数
3
解决办法
4万
查看次数

Java:是否有工具使代码(在第三方JAR中)向前兼容(1.4 - 1.6)

我有一个使用Java 1.4编译的第三方JAR文件.有没有一个工具可以使jar文件与Java 1.6兼容?(像'逆转译器'的东西,但它的反面是什么).
我尝试反编译类文件并在1.6中重新编译,但它失败了.


这是问题:

我的项目使用'rsadapter.jar'为5.1,我在Eclipse 2.0 + JDK 1.4中进行了项目设置,它曾经工作正常.现在,我已经迁移到Java 1.6和Eclipse Ganymede(根据要求)和同一个项目(完全相同的设置)开始抱怨'rsadapter.jar'中缺少的类文件.我也明确地将JAR放在classpath中,但它仍然无法加载类.然后我将Java Compiler版本更改为1.4并开始工作.

问候,
- Ashish

java decompiling

1
推荐指数
1
解决办法
424
查看次数

如何获取Java堆的内存地址?

如何确定当前进程中运行的JVM的Java堆内存地址?也就是说,使用Java,C或其他调用获取一个void*指针或等效于JVM为堆分配的内存的连续区域?

Matlab在其进程中嵌入了JVM.JVM分配的内存对于Matlab数组是不可用的,而且这一点很重要,因为它占用了大量连续的内存并且从不收缩,而Matlab也需要连续的内存用于其数组.如果在扩展期间重新分配堆,则可能导致碎片.

我想检查我的进程来检查Java堆和Matlab的内存视图之间的交互,并找出它由于调整大小而移动的时间,最好是在进程内.这需要堆的地址.从java.lang.Runtime很容易找到堆大小,但在内存中找不到它的地址.如何才能做到这一点?

我在Windows XP和Server 2003上的Matlab R2008b进程中运行Sun的JRE 1.6.0_04.我意识到这可能需要特定于供应商的技术.该过程运行我们编写的代码,因此我们可以使用自定义Java,Matlab,JNI和C/C++代码.JVM中的Java方法调用或支持的钩子优先于低级别的hackery.

编辑:这个目的是检查JVM的GC和Matlab的GC之间的相互作用.我没有必要查看Java堆,也不会从该内存中读取任何内容; 我只想看看它在整个虚拟内存空间的上下文中,Matlab的GC也试图将数据放入其中.

java matlab

7
推荐指数
1
解决办法
2749
查看次数

指向数组/指针数组的C指针消歧

以下声明之间有什么区别:

int* arr1[8];
int (*arr2)[8];
int *(arr3[8]);
Run Code Online (Sandbox Code Playgroud)

理解更复杂的声明的一般规则是什么?

c arrays pointers variable-declaration

451
推荐指数
6
解决办法
38万
查看次数

让MySQL向后退表

我想用PHP和MySQL创建一个简单的新闻系统,现在我有一个工作的帖子和阅读系统,但只有一个问题,我希望它显示10个最新消息,但它显示了10个最古老的新闻.

我的问题是:有没有办法让MySQL从表格底部返回结果,或者我必须首先获得帖子的数量,然后将其限制为最后10个帖子?

这是插入(标题和文本是转义的,时间是时间(),海报还没有完成):

mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)


并重新审视它(addnews回声):

$myqr = mysql_query('SELECT * FROM news LIMIT 10') or die("Error running news query: ". mysql_error());
while($myres = mysql_fetch_array($myqr))
{
addnews($myres['id'], $myres['title'], "admin", date('l jS F Y - H:i:s', $myres['time']), $myres['text']);
}
Run Code Online (Sandbox Code Playgroud)

所以,简短:我想向后读数据库,是否可能?

php mysql

0
推荐指数
1
解决办法
2496
查看次数