我的意思是使用和IDE当然.
Java是否带有像控件一样的工具箱,它具有拖放控件,你可以移动等等?
此外,如果我使用Java创建应用程序,它是否可以在任何具有Java运行时环境的计算机上运行?由于这个单一特征,我不介意学习一些Java.:)
假设我构建了一个简单的计算器,它将在Linux/Mac/Windows上运行吗?
我正在为命令行应用程序做一个前端.它有一个很长的命令行是这样的:
public String liveShellCommand(){
String cmd="command mode --parameter arg --parameter2 arg2 --parameter3 arg3";
Runtime run = Runtime.getRuntime() ;
Process pr ;
try {
log.progress("sending command: " +cmd);
pr = run.exec( cmd );
pr.waitFor() ;
Run Code Online (Sandbox Code Playgroud)
在我将"模式"开关添加到其中之前,一切似乎都有效."mode"开关从命令行执行.我尝试了一些组合将参数拆分成一个不执行的数组.我认为它与"模式"有关 - 没有 - 在它前面,它不能有 - 在它面前.
我究竟做错了什么?
编辑:我忘了提到我所能看到的就是:调试器停止在无法编译的源代码上.我正在使用netbeans,它似乎没有打印出堆栈跟踪.它在run.exec(cmd)上停止.java有什么问题吗?
我能够使用ProcessBuilder来运行它,而不仅仅是失败...
它解析"命令"就好了,但当我添加"命令模式"时
java.io.IOException: Cannot run program "command mode": java.io.IOException: error=2, No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以它无法解析我猜.
我有很多代码行创建对象并使用具有类似对象名称和构造函数的各种参数.唯一要改变的是正在创建的对象变量的实际名称,以及传入的对象本身的名称.以下是与我当前设置匹配的代码示例:
BackyardObject backyardObject0 = new BackyardObject(cat0, dog0, goat0, piglet0);
BackyardObject backyardObject1 = new BackyardObject(cat1, dog1, goat1, piglet1);
BackyardObject backyardObject2 = new BackyardObject(cat2, dog2, goat2, piglet2);
BackyardObject backyardObject3 = new BackyardObject(cat3, dog3, goat3, piglet3);
BackyardObject backyardObject4 = new BackyardObject(cat4, dog4, goat4, piglet4);
// many many more BackyardObjects being instantiated
Run Code Online (Sandbox Code Playgroud)
我们可以看到,正在创建的对象的名称与传递给构造函数的对象的名称完全匹配.是否有可能创建一个可以设置所有这一切的循环?
编辑
我想我可能缺乏为这个问题得到正确答案所需的细节.这不是关于"如何"使用循环的问题,或者如何将项目添加到集合中更多的问题是确定是否可以在循环内动态创建"变量名称",同时访问动态在循环内的另一个变量名提供了上面给出的信息(只是在现场编写代码).
// psuedo code for something I'm asking is possible
for( i = 0; i < 10; i++)
{
// create BackyardObject with generic name, while appending "i" to
// …Run Code Online (Sandbox Code Playgroud) 我使用Visual C++ 2010 Express Edition来编译和运行我用C++编程语言编写的.exe文件.我正在尝试使用C++创建一个基于循环的逻辑来询问用户他选择输入多少条目,并提出仅限于该条目的问题.的条目.例如,我想输出"你想输入多少个字符?:"说用户给出答案为'3',它存储在int变量'entries'中.然后我想在问题停止之前继续问3次并继续下一行代码.我希望你理解,这是一段代码来展示我在做什么:
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "How many values do you need to enter?: ";
int entries;
cin >> entries;
int offset, number;
string valueName[50];
float valueValue[50];
for (offset = 0; offset < entries; offset++)
{
cout << "Enter " << number << " Value Name: ";
cin >> valueName[offset];
cout << "Enter " << valueName[offset] << "\'s value: ";
cin >> valueValue[offset];
for (number = 1; number <= …Run Code Online (Sandbox Code Playgroud) 是吗:
为了提高内存效率,不必一直将所有程序的方法存储在RAM中?如果是这样,这真的是常见问题吗?我觉得必须加载一个新方法的开销会抵消正常大小的程序的内存节省,虽然我可以看到它对非常大的东西有什么帮助.
为了增加灵活性?如果是这样,你能给出一个例子吗?我发现很难想到一个.
我一直试图谷歌解决这个问题的答案,似乎只找到有关如何使用类别的资源,而不是为什么.如果你们中的任何一个人能指出我正确的方向,那将是非常棒的.
请参阅示例:http://play.golang.org/p/6d4uX15EOQ
package main
import (
"fmt"
"reflect"
"unsafe"
)
func main() {
c := "foofoofoofoofoofofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo"
fmt.Printf("c: %T, %d\n", c, unsafe.Sizeof(c))
fmt.Printf("c: %T, %d\n", c, reflect.TypeOf(c).Size())
}
Run Code Online (Sandbox Code Playgroud)
输出:
c: string, 8 //8 bytes?!
c: string, 8
Run Code Online (Sandbox Code Playgroud)
好像这么大的字符串不能有这么小的尺寸!出了什么问题?
我的程序运行时创建的对象有问题
首先我创建n个对象(假设n:= 3)
for i:=0 to n-1 do
begin
With TGauge.Create(Form1) do
begin
Parent := Form1; // this is important
Left := 20; // X coordinate
Top := 20+i*45; // Y coordinate
Width := 250;
Height := 20;
Kind := gkHorizontalBar;
Name := 'MyGauge'+IntToStr(i);
//....
Visible := True;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这三个对象在表单中创建并可见.现在我想改变它的'属性,但每当我尝试访问这些创建的对象时,我只会得到它
EAccessViolation
Run Code Online (Sandbox Code Playgroud)
例如,当我尝试获取一个对象的名称时
g := Form1.FindComponent('MyGauge0') as TGauge;
Form1.Label1.Caption:=g.Name;
Run Code Online (Sandbox Code Playgroud) 我尝试了这个:
my_form.media.add_js(['path-to/foo.js'])
Run Code Online (Sandbox Code Playgroud)
但foo.js从未添加。
我发现这media是一个财产。这样,每次使用它都会被创建my_form.media。结果add_js()是仅添加到临时媒体对象,该对象将在下一条Python行中消失。
如何在运行时将JS文件添加到Django表单中?
我正在尝试获取数组中某些字符的位置.我在下面使用此代码,但在我输入两个字符后,我遇到了运行时错误.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
char board [8][8]={{0}};
char kr,kc,qr,qc,nr,nc;
unsigned char i,j;
for (i = 0; i < 8 ;i++)
{
for (j = 'A'; j <= 'H'; j++)
{
board[i][j] = getche();
}
}
for (i = 0; i < 8 ;i++)
{
for (j = 0; j < 9; j++)
{
if (board[i][j] == 'K')
{
kr = i;
kc = j;
}
else if (board[i][j] == 'Q')
{
qr = i; …Run Code Online (Sandbox Code Playgroud) 是否可以在运行时取消定义宏?这是我尝试的:
for(int i=2; i<argc; i++){
if(strcasecmp(argv[i], "+debug")==0){
puts("+debug");
#ifndef DEBUG
#define DEBUG
#endif
}
if(strcasecmp(argv[i], "-debug")==0){
puts("-debug");
#ifdef DEBUG
#undef DEBUG
#endif
}
Run Code Online (Sandbox Code Playgroud)
我用DEBUG定义的宏编译了代码。它的作用是,它将在标准输出上显示所有消息。如果未定义,它将不会显示这些消息。因此,当我使用option运行应用程序时-debug,它应该取消定义宏。但事实并非如此!我仍然在控制台上收到消息!
有人愿意帮助吗?
runtime ×10
c ×2
c# ×2
for-loop ×2
java ×2
c++ ×1
char ×1
components ×1
delphi ×1
delphi-7 ×1
django ×1
go ×1
ide ×1
javascript ×1
loops ×1
macros ×1
objective-c ×1
parameters ×1
printf ×1
process ×1
reference ×1
visual-c++ ×1