在Visual Studio中,如何退出当前项目并加载另一个项目?像重装一样?
即当我执行我的项目(窗口应用程序)时,我需要关闭当前的exe并加载exe文件的另一个实例.
我最近安装了 VS2008 并打开了一个 VS2005 项目(C++)。然后在转换到 VS2008 后,我尝试构建该项目。但该项目正在被跳过。我尝试了 Clean 和 Rebuild,它也被跳过了。
我如何解决这个问题并在 VS 2008 中构建项目?
忘了提,也在 Build->Configuration Manager 中,勾选了 Build 选项。
考虑我有一个文件"new.txt",如,
asdfg
qwerty
zcx
poi
Run Code Online (Sandbox Code Playgroud)
现在我需要洗牌这个文本文件的行.我怎么能用C#做这个.
我想将一个用户定义的类型(如下所示)添加到ArrayList.
import java.util.ArrayList;
class MyObj
{
int iX;
}
public class testForLoopjava
{
public static void main(String[] args)
{
MyObj ob1 = new MyObj();
ArrayList<MyObj> al = new ArrayList<MyObj>();
int a,b;
for(int i =0;i<5;i++)
{
ob1.iX = i + 5;
al.add(ob1);
}
for(int j=0;j<5;j++)
System.out.println("iX: "+al.get(j).iX);
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试打印上面的代码时,iX始终打印9.ie iX由列表中的最后一个值更新.这是什么原因?我在做一些基本的错误.
输出:
iX: 9
iX: 9
iX: 9
iX: 9
iX: 9
Run Code Online (Sandbox Code Playgroud) 是否有可能获得与Java Map中的一系列键匹配的值.假设我有,
Map<Key,Value> //size 10,000
Key - 9.0, 9.1, 9.5, 4.2, 4.3, 6.1, 6.6
Value - 10 , 20 , 30 , 40 , 20 , 60 , 10
ArrayList alMatch = {1.0,4.0,6.0}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,对于值4.0,我想得到40(关键4.2)和20(关键4.3).所以我希望将所有值映射到5.0 >= key>=4.0Map中的键.是否可以通过Map或类似的数据结构来实现.
地图的大小很大.或者是否有其他更好的方法以最小的复杂性实现相同的目标.
考虑我给出一个特定范围(0到5,000,000),我应该从这个范围产生2,500,000个唯一随机数.有效的方法是什么?我知道很难得到真正的随机数.
我试着检查一个数字是否存在,这样我就可以生成一个新的随机数.但是计算需要几个小时.有一个更好的方法吗.
这背后的原因是,我有一个大小为5,000,000的向量.我想把矢量缩小一半.即从矢量中删除随机50%的元素.
#include <iostream>
#include <vector>
#include <stdlib.h>
#include <algorithm>
using namespace std;
#define NUMBER 2500000
#define RAND_START 0
#define RAND_END 5000000
unsigned int generate_random_number(int min, int max)
{
return min + (rand() % (unsigned int)(max - min + 1));
}
int main(int argc, char* argv[])
{
unsigned int count = 0, random_number;
vector<unsigned int> rand_vector;
do
{
count++;
random_number = generate_random_number(RAND_START,RAND_END);
// Tried to manually add a different number each time. But still not a considerable improvement in …Run Code Online (Sandbox Code Playgroud) 假设我有一个 HashMap,我想将相同的值插入到键列表中。如何使用 Java 8 执行此操作,而无需迭代所有键并插入值?这更多的是一个 Java Streams 问题。
这是执行此操作的直接方法。这是我编写的示例代码,用于演示我想要实现的目标。
public void foo(List<String> keys, Integer value) {
Map<String, Integer> myMap = new HashMap<>();
for (String key : keys) {
myMap.put(key, value);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法使用 Java 8 流来执行上述操作?如何使用 Java 8 流避免 for 循环。谢谢!
[Edit-1] 下面是更好的代码片段。
public void foo() {
Map<String, Integer> myMap = new HashMap<>();
List<String> keys = getKeysFromAnotherFunction();
Integer value = getValueToBeInserted(); // Difficult to show my actual use case. Imagine that some value is getting computed which has to be …Run Code Online (Sandbox Code Playgroud) 我最近在Win2k8R2机器上安装了VS2008并打开了一个VS2005项目(C++).在成功转换为VS2008之后,我尝试在Debug x64模式下构建项目.但该项目正在被忽略.我尝试过Clean和Rebuild,并且它们也被跳过了.
我能够构建Debug win32模式.但我需要在x64模式下构建.
此外,Build选项在x64下的Build-> Configuration Manager中打勾.
我也安装了x64位编译器.
如何在VS 2008中解决此问题并构建项目?
我编写了一段代码来在Java中以随机方向移动对象.有两个功能.
FindRandomDirection - 从8个可能的方向获取随机方向(方向由小键盘中的数字1,2,3,4,6,7,8,9表示).检查完成以查看对象是否在任何边界附近.如果是这样,物体将沿远离边界的方向移动.
MoveObject - 通过恒定的STEP移动来更改对象的(X,Y)坐标.
但是我为X,Y赋予了什么价值; 在重复该过程几次(700或更多)之后,X,Y的值变为{X:20-50}和{Y:450-465}.
即
Case 1: (x:35,y:65) becomes (x:35, y:465)
Case 2: (x:30, y:455) becomes (x:30, y:460)
Case 3: (x:435, y:65) becomes (x:25, y:460)
Case 4: (x:430, y:465) becomes (x:40, y:460)
Run Code Online (Sandbox Code Playgroud)
我想为什么在几次迭代之后x,y点会收敛到这些值,即使我随机生成数字.
下面是相同的代码.
import java.io.*;
public class bug
{
//public static int x = 35;
//public static int y = 60;
//public static int x = 35;
//public static int y = 460;
//public static int x = 435;
//public static int y = …Run Code Online (Sandbox Code Playgroud) 我正在尝试HandleException一种可以处理各种异常的方法。
问题是,我的函数返回一个值。但是,如果我HandleException在 catch 块中使用,Java 会抱怨该函数不返回值,即使我的 HandleException 总是抛出异常。
什么是解决这个问题的好方法?谢谢!
这是一个示例代码。
public class MyException {
static int foo(int num) throws Exception {
try {
return bar(num);
} catch (Exception e) {
handleException();
// throw new Exception("Exception in foo", e);
}
}
static int bar(int num) throws IllegalArgumentException {
if (num < 0) {
throw new IllegalArgumentException("Num less than 0");
}
return num;
}
static void handleException(Exception e) throws Exception {
System.err.println("Handling Exception: " + e);
throw new Exception(e); …Run Code Online (Sandbox Code Playgroud)