我正在编写一个程序,我需要从键盘输入.我需要输入一个数字,但我不确定它是否是一个int
或一个double
.这是我的代码(针对该特定部分):
import java.io.*;
import java.util.*;
//...
Scanner input = new Scanner(System.in);
int choice = input.nextInt();
Run Code Online (Sandbox Code Playgroud)
我知道我可以得到一个String
或做,parseInt()
或者parseDouble()
我不知道它会是哪一个.
我正在尝试 Rust,到目前为止我真的很喜欢它。我正在开发一个需要从用户那里获取箭头键输入的工具。到目前为止,我已经得到了一些半工作的东西:如果我按住某个键一段时间,相关的函数就会被调用。然而,这远非瞬时的。
到目前为止我所得到的:
let mut stdout = io::stdout().into_raw_mode();
let mut stdin = termion::async_stdin();
// let mut stdin = io::stdin();
let mut it = stdin.keys(); //iterator object
loop {
//copied straight from GitLab: https://gitlab.redox-os.org/redox-os/termion/-/issues/168
let b = it.next();
match b {
Some(x) => match x {
Ok(k) => {
match k {
Key::Left => move_cursor(&mut cursor_char, -1, &enc_chars, &mpt, &status),
Key::Right => move_cursor(&mut cursor_char, 1, &enc_chars, &mpt, &status),
Key::Ctrl('c') => break,
_ => {}
}
},
_ => {}
},
None …
Run Code Online (Sandbox Code Playgroud) 我会尝试更好地解释我的意思,并且我也会尝试将问题从语言中解脱出来,但是如果有一种方法可以在C#中做我想做的事而不必引用任何东西它会很好.无论如何.
我正在处理键盘输入,并将其转换为字符串.一切都很好.我得到了Shift和CapsLock键的状态并且EXOR它,所以我可以找出结果字符串的大小写.
bool shift = KeyDown(SHIFT_KEY)
bool capslock = KeyToggled(CAPSLOCK)
bool stringCasing = shift ^ capslock //if both are true/false, the string will be lowercase. Otherwise uppercase.
foreach Key k in [list of keys passed as parameter]
char c = (char)k
if stringCasing
c = Char.ToUpper(c)
else
c = Char.ToLower(c)
end foreach
Run Code Online (Sandbox Code Playgroud)
现在没有问题.如果用户在按住shift键或切换大写字母时键入"a",则它变为"A".
但是,如果用户决定键入"!",即"1"加上shift,我只得到1,因为"1"大写仍为"1".
在问这个问题之前我在网上看了一下,但我得到的只是"自己映射键".这真的是唯一的答案吗?而且,如果我映射键然后使用不同键盘布局的用户试图使用我的应用程序会发生什么?提前致谢.
使用keytool生成密钥对(公用和专用密钥)和签名证书时,我无法从键盘或屏幕键盘上提供任何输入。
仅当执行此命令而不是其他任何命令时,才会出现此问题。
我尝试使用.bat文件中的运行命令,但仍然无法提供任何输入。
我唯一可以提供的输入是enter(button)。
那么我应该再次提供enter(button)前进吗?
注意:我指的是Oreilly Android应用程序开发2009.pdf
网络版本:http : //androidapps.org.ua/i_sect17_d1e6459.html