我可以通过模拟器运行Android应用程序并将其打印到我的计算机控制台吗?通过控制台我的意思是你期望在普通的Java应用程序中看到System.out.println()的标准位置.因此,如果您从命令提示符运行java应用程序,那么您将在命令提示符中看到println(),或者如果您在eclipse中运行该程序,您将在底部的Console选项卡中看到它.
这是我正在尝试的小代码.该程序需要很长时间才能执行.在运行时,如果我试图通过eclipse中的终止按钮杀死它,它会返回Terminate Failed.我可以从终端使用它杀死它kill -9 <PID>.
但是,当我不在程序的最后一行打印变量结果时(请检查代码的注释部分),程序立即退出.
我想知道 :
为什么在打印结果值时需要花时间执行?
请注意,如果我不打印value,相同的循环会立即结束.
为什么eclipse无法杀死程序?
更新1: 似乎JVM在运行时(不是在编译时)优化代码.这个帖子很有帮助.
更新2:当我打印值时value,jstack <PID>不起作用.只有jstack -F <PID>工作.任何可能的原因?
public class TestClient {
private static void loop() {
long value =0;
for (int j = 0; j < 50000; j++) {
for (int i = 0; i < 100000000; i++) {
value += 1;
}
}
//When the value is being printed, the program
//is taking time to …Run Code Online (Sandbox Code Playgroud) 在Rust中,这有效:
fn main() {
let a = [0; 32];
println!("{:?}", a);
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
fn main() {
let a = [0; 33];
println!("{:?}", a);
}
Run Code Online (Sandbox Code Playgroud)
编译错误:
error[E0277]: the trait bound `[{integer}; 33]: std::fmt::Debug` is not satisfied
--> src/main.rs:3:22
|
3 | println!("{:?}", a);
| ^ the trait `std::fmt::Debug` is not implemented for `[{integer}; 33]`
|
= note: `[{integer}; 33]` cannot be formatted using `:?`; if it is defined in your crate, add `#[derive(Debug)]` or manually implement it
= note: required by …Run Code Online (Sandbox Code Playgroud) 我得到错误:java.lang.NullPointerException:当我调用此方法时,println需要一条消息:
lst_info = new HashMap<String, String>();
SystemDatabaseHandler db = new SystemDatabaseHandler(getApplicationContext());
lst_info = db.getLstInfo(sql_id);
Run Code Online (Sandbox Code Playgroud)
SystemDatabaseHandler:
public HashMap<String , String> getLstInfo(int id){
HashMap<String , String> lst_temp;
lst_temp = new HashMap<String , String>();
String selectQuery = "SELECT * FROM dkr_lst_lst WHERE lst_id = " + id;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Log.d("sql_id", cursor.getString(0));
lst_temp.put("sql_id", cursor.getString(0));
}while (cursor.moveToNext());
}
cursor.close();
db.close();
return lst_temp;
}
Run Code Online (Sandbox Code Playgroud)
Log.d("sql_id",cursor.getString(0)); 收益:
07-12 11:56:05.603:D/sql_id(13783):1
Log Cat:
07-12 11:56:05.613: D/Database(13783): dbclose(): …Run Code Online (Sandbox Code Playgroud) 在Objective-C中注销一个浮点数时,您可以执行以下操作将输出限制为仅两位小数:
float avgTemp = 66.844322156
NSLog (@"average temp. = %.2f", avgTemp);
Run Code Online (Sandbox Code Playgroud)
但是你如何在Swift中做到这一点?你怎么逃避printlnSwift中的其他角色?
这是一个常规的Swift println语句:
println ("Avg. temp = \(avgTemp)")
Run Code Online (Sandbox Code Playgroud)
那么如何限制小数位?
另外,你如何逃避双引号println?
我正在使用代码:
System.out.println(null);
Run Code Online (Sandbox Code Playgroud)
它显示错误:
The method println(char[]) is ambiguous for the type PrintStream
Run Code Online (Sandbox Code Playgroud)
为什么没有null代表Object?
println!Rust中的宏总是在每个输出的末尾留下换行符.例如
println!("Enter the number : ");
io::stdin().read_line(&mut num);
Run Code Online (Sandbox Code Playgroud)
给出输出
Enter the number :
56
Run Code Online (Sandbox Code Playgroud)
我不希望用户的输入56在新行上.我该怎么做呢?
我正在尝试在Java中的打印行内打印webdriver测试中使用的测试数据
我需要在system.out.print函数内打印一个类中使用的多个变量(printf/println/whatever).
你们能帮助我吗?
public String firstname;
public String lastname;
firstname = "First " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("firstname")).sendKeys(firstname);
lastname = "Last " + genData.generateRandomAlphaNumeric(10);
driver.findElement(By.id("lastname")).sendKeys(lastname);
Run Code Online (Sandbox Code Playgroud)
我需要打印声明中的那些打印为:
名字:( 我使用的变量值)
姓氏:( 我使用的变量值)
使用下面的内容可以得到确切的结果.
但我需要减少行数printf并使用更有效的方法.
System.out.printf("First Name: ", firstname);
System.out.printf("Last Name: ", lastname);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有以下代码:
val blueCount = sc.accumulator[Long](0)
val output = input.map { data =>
for (value <- data.getValues()) {
if (record.getEnum() == DataEnum.BLUE) {
blueCount += 1
println("Enum = BLUE : " + value.toString()
}
}
data
}.persist(StorageLevel.MEMORY_ONLY_SER)
output.saveAsTextFile("myOutput")
Run Code Online (Sandbox Code Playgroud)
然后blueCount不为零,但我没有println()输出!我在这里错过了什么吗?谢谢!
您好我正在学习clojure,我想了解当我打字时发生了什么
(map println '(1 2 3 4))
Run Code Online (Sandbox Code Playgroud)
我期待类似的东西
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
但我明白了
(1
2
nil 3
nil 4
nil nil)
Run Code Online (Sandbox Code Playgroud)
这只是我编写的一个例子.我只是想了解发生了什么.也许与懒惰有关?
println ×10
java ×3
android ×2
rust ×2
accumulator ×1
apache-spark ×1
arrays ×1
clojure ×1
eclipse ×1
hashmap ×1
loops ×1
map ×1
newline ×1
nsformatter ×1
null ×1
scala ×1
swift ×1
system ×1
system.out ×1