嘿,我正在学习 Rust,并试图找出为什么我不能直接比较一个非常简单的枚举的两个实例,我尝试使用matches!(不起作用)和#[derive(Eq)](只是将问题转发给impl
这是演示我的问题的片段及其输出。
#[derive(Debug)]
pub enum MyEnum {
Enum1,
Enum2,
Enum3
}
#[derive(Debug)]
pub enum ThingEnum {
NoOp,
Enum(MyEnum)
}
pub fn test_enum_equate() {
let mut enum1 = Vec::new();
enum1.push(MyEnum::Enum1);
enum1.push(MyEnum::Enum2);
enum1.push(MyEnum::Enum3);
let mut expr = vec![
ThingEnum::NoOp,
ThingEnum::Enum(MyEnum::Enum1),
ThingEnum::Enum(MyEnum::Enum2),
ThingEnum::NoOp,
ThingEnum::Enum(MyEnum::Enum3)
];
for myenum in enum1.iter() {
for entry in expr.iter() {
match entry {
ThingEnum::NoOp => continue,
ThingEnum::Enum(en) => {
// Check if they are the same
println!("matches!({:?}, {:?}) = {}",
myenum, en, …Run Code Online (Sandbox Code Playgroud) 我试图解决欧拉项目#2,我不断收到答案为"无限"或"南"(非数字),我试图改变号码的类型int(最初Double),但没有任何修复只是给了我的答案是"-1833689714"
public class Pro {
static int g = 1;
static int n, f = 0;
public static void main(String args[]) {
for (int i = 0; i <= 4000000; i++) {
f = f + g;
g = f - g;
if (f % 2 == 0) {
n += f;
}
}
System.out.println("Answer: " + n);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:
Fibonacci序列中的每个新术语都是通过添加前两个术语生成的.从1和2开始,前10个术语将是:
1,2,3,5,8,13,21,34,55,89 ......
通过考虑Fibonacci序列中的值不超过四百万的项,找到偶数项的总和.
我正在开发一款游戏,我正在使用Slick2D库.我也使用bouncycastle进行加密.然后我使用jarsplice将所有内容打包在一个漂亮的可执行文件中.它运行正常,直到它需要加密某些东西.它给了我一个java.lang.SecurityException: JCE cannot authenticate the provider BCAnd我正在使用一个签名的jar文件(http://www.bouncycastle.org/download/bcprov-jdk15on-150.jar)
这是堆栈跟踪
java.lang.SecurityException: JCE cannot authenticate the provider BC
at javax.crypto.Cipher.getInstance(Cipher.java:642)
at javax.crypto.Cipher.getInstance(Cipher.java:580)
at net.matrixstudios.zenerith.networking.ZenerithLogin.encryptLogin(ZenerithLogin.java:159)
at net.matrixstudios.zenerith.networking.ZenerithLogin.<init>(ZenerithLogin.java:112)
at net.matrixstudios.zenerith.MultiplayerMenu$1.performAction(MultiplayerMenu.java:90)
at net.matrixstudios.zenerith.gui.menu.MenuGameState.clickButton(MenuGameState.java:83)
at net.matrixstudios.zenerith.gui.menu.MenuGameState.checkForButtonClicks(MenuGameState.java:75)
at net.matrixstudios.zenerith.gui.menu.MenuGameState.update(MenuGameState.java:51)
at net.matrixstudios.zenerith.gui.menu.AbstractGameState.update(AbstractGameState.java:47)
at org.newdawn.slick.state.StateBasedGame.update(StateBasedGame.java:266)
at org.newdawn.slick.GameContainer.updateAndRender(GameContainer.java:663)
at org.newdawn.slick.AppGameContainer.gameLoop(AppGameContainer.java:411)
at org.newdawn.slick.AppGameContainer.start(AppGameContainer.java:321)
at net.matrixstudios.zenerith.gui.Window.<init>(Window.java:28)
at net.matrixstudios.Main.main(Main.java:28)
Caused by: java.util.jar.JarException: file:/C:/Users/M4trixSh4d0w/Desktop/Zenerith_Alpha.0.2.1.5.jar has unsigned entries - org/bouncycastle/LICENSE.class
at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:462)
at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322)
at javax.crypto.JarVerifier.verify(JarVerifier.java:250)
at javax.crypto.JceSecurity.verifyProviderJar(JceSecurity.java:161)
at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:187)
at javax.crypto.Cipher.getInstance(Cipher.java:638)
... 14 more
Run Code Online (Sandbox Code Playgroud)
那么如何验证要运行的jar文件呢?这是一个独立的可执行jar文件.
我正在尝试将一些C#代码连接到Microsoft TeamFoundation服务器,但我似乎无法找到Visual Studio 2015的任何文档(典型的Microsoft?)但我确实找到了适用于Microsoft Visual Studio 2013的内容.(https:// msdn.microsoft.com/en-us/library/bb286958)
事实证明,他们通过删除Microsoft.TeamFoundation.Framework导入打破了旧的方式(2013年方式),所以他们的示例代码,使用Microsoft.TeamFoundation.Framework.Client;将无法正常工作:(
现在他们仍然需要一些旧的库,比如在C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer中找到的Microsoft.TeamFoundation.Client
[请参阅我在哪里可以找到Visual Studio 2015中的Microsoft.TeamFoundation.Build.Client?]
他们有一个来自'NuGet'的"2015 .NET库下载"的东西(在上面的链接中提到)但是......它不包含所需的库,Microsoft.TeamFoundation.Framework!
...所以我的问题是,是否有人有任何关于"新的和改进的"连接方式的信息?我会尝试将项目创建为Team项目,看看它是否内置了某种设置,但遗憾的是我认为这是不可能的,因为我无权在Visual Studio中创建新的团队项目.
我正在制作一个具有滚动图像的程序,如果按下按钮,我无法弄清楚如何更新图像(例如:向图像添加绿色椭圆.)它已经绘制了将图像放入JScrollPane并可以滚动,但是当您单击按钮时它不会刷新图像.(代码中的更多细节)这是代码:
public class PegMaster extends JPanel implements ActionListener {
//Note: not complete code
public PegBox[] pegbox = new PegBox[9];
public static Dimension size = new Dimension(520, 500);
public BufferedImage canvas;
public Graphics2D g2d;
public JScrollPane scroller;
JPanel panel;
private Canvas window;
JScrollPane pictureScrollPane;
public PegMaster() {
JButton button = new JButton("test");
button.addActionListener(this);
add(button);
canvas = new BufferedImage((int)size.getWidth()-30, 75 * GUESSES, BufferedImage.TYPE_INT_RGB);
g2d = canvas.createGraphics();
for(int i = 0;i<=pegbox.length-1;i++) {
pegbox[i] = new PegBox(i, g2d);
}
window = new Canvas(new ImageIcon(toImage(canvas)), …Run Code Online (Sandbox Code Playgroud)