对于每个函数,我得到一个有限大小的浮点数,我需要选择它.
所以,如果我有类似的东西
1)
{-0.02, 0.5, 0.98, -0.15, etc... }
Run Code Online (Sandbox Code Playgroud)
我会从这个列表中选择"-0.02".
2)
{-0.78, 0.003, 0.1, -1.8, etc... }
Run Code Online (Sandbox Code Playgroud)
现在,我会从这个列表中选择"0.003".
这只是一个例子.在我的真实程序中,我有5-6个小数点浮点数.
我是java的新手,但我想我在这几周里做得很好.但现在我陷入了这个循环.
这是我班上的一个方法.为了帮助我调试,我在此方法中添加了"myString"字符串和"语法"列表,以演示正在发生的事情并保持简单,至少目前如此.
public void getIndex(){
String myString = "2 2 + 3 5";
String[] syntax = myString.split(" ");
for (int index = 0; index < syntax.length; index++){
System.out.println("current index is: " + index);
System.out.println("It has: " + syntax[index]);
// these print statements are made to help me debug
if (syntax[index] == "+"){
indexNeeded = index;
break;
}
}
System.out.println("Index Needed: " + indexNeeded);
Run Code Online (Sandbox Code Playgroud)
正如您在循环中看到的那样,我希望在列表元素"语法"为"+"时打破"for循环".(我在这里显示"+"但它可以是实际程序中的任何内容.)
这是输出,运行此方法时:
current index is: 0
It has: 2
current index is: 1
It has: 2
current …Run Code Online (Sandbox Code Playgroud) 例如:
"common"
-> ("c" "o" "m" "n") or in characters, (#\c #\o #\m #\n)
I'd care less about the order and type, if it is in string or character.
"overflow" -> (o v e r f l w)
"tomtomtom" -> (t o m)
etc...
Run Code Online (Sandbox Code Playgroud)
我在想的是收集原始字符串的第一个字母,然后使用该函数;
(remove letter string)
Run Code Online (Sandbox Code Playgroud)
收集现在的第一个字母,删除字母串并将其附加到之前收集的字母.这听起来像递归,但如果递归调用会松开以前收集的*letter*s列表,对吗?我也怀疑是否有任何内置功能.
此外,我不想使用set或其中任何一个,因为我想在功能样式中完全执行此操作.
谢谢你的时间.
这实在是让我很头疼
我在文件中编写了以下简单函数。
(defun find-num (string)
(if (> (length string) 1)
(parse-integer (remove (coerce (get-first-letter string)
'character)
string))
;else
1))
Run Code Online (Sandbox Code Playgroud)
它的作用是在删除第一个字母后解析字符串“a23”中的数字。我假设只有第一个字符是字母,其余的都是“数字”。
我加载文件,当我尝试运行该函数时,它给我错误,说: 正确的列表不能以“a3”结尾......什么???
但是,当我直接在命令行中复制并粘贴相同的代码时,该函数将按预期工作。
这是什么 ?常见的 Lisp 错误?还是有什么我没有看到的?
;; Loading file C:\Users ... (hidden)
;; Loaded file C:\Users ... (hidden)
T
[2]> (find-num "a3")
*** - ENDP: A proper list must not end with "a3"
The following restarts are available:
ABORT :R1 Abort main loop
Break 1 [3]> :a
[4]> (defun find-num (string)
(if (> (length string) 1)
(coerce …Run Code Online (Sandbox Code Playgroud) common-lisp ×2
break ×1
c++ ×1
command-line ×1
for-loop ×1
function ×1
if-statement ×1
indexing ×1
java ×1
math ×1
string ×1