我目前正在尝试在此计算机上安装Visual Studio 2015.我尝试重新启动,硬关闭,取消设置和重新启动等.每次,它都会在应用Microsoft ASP.net时遇到困难.我试过过夜(12小时).根据Ookla Speedtest,我的下载速度为50-60 MBPS.我正在运行Windows 10.我做了"自定义"安装并添加了C++,Python和Git扩展.如果我没有弄错,它说7 GB大小.它为什么这样做?请帮忙!
我不明白为什么这不起作用,因为我几天前在亲戚WIFI上为我的笔记本电脑(另一台电脑)安装了VS 2015,它们的速度是3-7 MBPS.
(注意:安装程序在技术上并未冻结,因为底部的加载点正在移动.)但是,条形码完全没有填满6小时.
编辑:我需要ASP.NET(针对C#,Python,还是C++)?我可以取消选中某些安装功能,以便它不会尝试安装吗?此外,当我取消安装时,它永远不会取消,只是停留在那里所以我必须使用任务管理器终止安装程序.这令人非常沮丧.
所以,让我说我有一些游戏,以Pong为例.显然,你通常不想将游戏逻辑混合到图形类中,所以Ball或Paddle的类是从JPanel中分离的,它实际上是绘制它们的.Ball有球的运动逻辑,它的当前位置,命中检测等.但是,在我的Ball类中使用Swing和awt的图形类是不好的做法?例如,如果我使用java.awt.Rectangle来确定hitbox.虽然我没有在这堂课中画画,但我正在使用它.或者,如果我使用Java.awt.Point来存储坐标.
顺便说一句,我问的原因是因为我在这个网站上多次被告知不要将图形与其他部分混合.
在非图形类中使用Rectangle :(这是不好的做法吗?)
public class Ball {
static Rectangle hitbox = new Rectangle(0,10,20,20);
static void checkHit() {
if(hitbox.intersects(Paddle.hitbox) //do something
}
}
Run Code Online (Sandbox Code Playgroud)
我的Graphics类:
public class DrawMyStuff extends JPanel {
void paintComponent(Graphics g) {
super.paintComponent(g);
setBackground(Color.BLACK);
Graphics2D g2d = (Graphics2D) g;
g2d.draw(Ball.hitbox);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在写一个有趣的游戏,玩家可以跳跃并射击激光的精灵.它最多可以有三名玩家.我的班级Sprite对于所有三个玩家来说都是一样的,每个玩家都有不同的控制布局,具体取决于玩家#在构造中给出的.Sprite使用a KeyListener来起作用.
为了让我有多个玩家同时做事(比如拍摄激光或跳跃),我需要让每个创建的Sprite对象都在一个单独的线程上.我知道我可以Sprite在implements Runnable类上使用,但是这只运行Sprite新线程上的方法中的代码.这不起作用,因为run()它Sprite和其他类似的东西不会出现在新线程上.
我认为我应该使用"帮助器"类,keyPressed()然后在其implements Runnable方法中创建新的Sprite对象.然而,这似乎是一种混乱的方法.有没有办法让我run()在一个全新的线程上创建所有新对象(Sprites和所有这些都包含在这个线程中)?
码:
public class Sprite() implements KeyListener { //I want this class on a brand new thread
int x;
int y;
int width;
int height;
Image spriteImage;
//code/methods for stuff
//key listeners:
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method …Run Code Online (Sandbox Code Playgroud) 就像标题所说,我试图编写一个程序,可以从文本文件中读取单个单词并将它们存储到String变量中.我知道如何使用FileReader或FileInputStream阅读单个,char但我正在尝试这不会工作.一旦我输入单词,我试图将这些与我的程序中的其他String变量进行比较,使用.equals,这样最好是我可以导入为Strings.我也可以将文本文件中的整行输入为String,在这种情况下,我只在文件的每一行放一个单词.如何从文本文件中输入单词并将其存储到String变量中?
编辑:好的,那种重复的帮助.它可能适合我,但我的问题有点不同的原因是因为副本只告诉如何读取单行.我试图阅读该行中的单个单词.所以基本上拆分线String.
我一直在看Spotify api几天和示例源代码,我仍然无法弄清楚如何获取访问令牌来访问用户的播放列表数据.我已经达到了拉起登录窗口,用户登录,然后我收到授权代码的程度.此时,我尝试过这样的事情:
window.open("https://accounts.spotify.com/api/token?
grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_id=3137b15
2f1424defa2c6020ae5c6d444&client_secret=mysecret");
Run Code Online (Sandbox Code Playgroud)
和
$.ajax(
{
url: "https://accounts.spotify.com/api/token?grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_secret=mysecret&client_id=myid",
success: function(result){
alert("foo");
}
}
);
Run Code Online (Sandbox Code Playgroud)
但不管怎样,我得到的结果如下:
{"error":"server_error","error_description":"Unexpected status: 405"}
Run Code Online (Sandbox Code Playgroud)
而不是令牌.我确信这很简单,但我对JS很糟糕.请帮忙!谢谢!
(编辑)我忘了提到:
链接到api身份验证指南:https://developer.spotify.com/web-api/authorization-guide/
我坚持第4步.我看到有一种替代方法可以发送可能有效的"头参数"或cURL请求.但是因为我不知道如何做这些事情我一直坚持发送client_id和client_secret作为身体请求参数,就像我之前为用户登录/代码所做的那样.
PS:我只是在使用这个应用程序,我正在为自己写作.有没有办法在不经过这个过程的情况下对令牌进行硬编码?
我有一个程序,我定义了一堆新的破折号模式,并使用BasicStroke该类使它们成为笔画.比我使用这个
.setStroke()方法并用我的破折号图案制作线条.现在我希望能够setStroke()回到默认的破折号模式(实线).我该怎么做呢?这是我的代码:
float[] dash1 = {2f, 0f, 2f};
float[] dash2 = {1f, 1f, 1f};
float[] dash3 = {16f, 10f, 4f, 10f};
float[] dash4 = {4f, 4f, 1f};
Graphics2D g2d = (Graphics2D) g.create();
g2d.drawLine(20, 40, 250, 40);
BasicStroke bs1 = new BasicStroke(1, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 1.0f, dash3, 0f);
BasicStroke bs2 =new BasicStroke(1, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 1.0f, dash3, 16f);
BasicStroke bs3 = new BasicStroke(1, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 1.0f, dash3, 2f);
BasicStroke bs4 = new BasicStroke(1, BasicStroke.CAP_BUTT,
BasicStroke.JOIN_ROUND, 1.0f, dash4, 2f); …Run Code Online (Sandbox Code Playgroud) 所以就像标题所说的那样,我遇到了 Eclipse JVM 启动器的问题。昨晚,一切正常,据我所知,从那以后我的电脑上没有任何变化。然而,我今天早上醒来发现当我在 eclipse 中运行我的任何项目时,我收到了这个错误:Java Virtual Machine Launcher- Error: could not open C:\Program Files\Java\jre1.8.0_60\lib\amd6jvm.cfg
我已经验证了我的Path变量的完整性, ( C:\Program Files\Java\jdk1.8.0_65\bin) 现在,您可能会注意到,我的 jdk 版本为 65。我的 JRE 和 java 安装也是如此。我不明白为什么 eclipse 使用 jre 60。我还检查了首选项并将 jre 版本更改为 65。没有运气。此外,我在没有通过命令行使用 eclipse 的情况下运行了一个简单的 java 文件,并且运行/编译得很好。我尝试在 eclipse.ini 中添加 -vm 标签(它不存在)并将其设置为 jvm 但它没有帮助。(我比删除它)我不知道该怎么做...请帮忙,我已经尝试了所有我知道的方法。谢谢!
编辑:
我的 eclipse.ini 文件如下:
-startup
../../../.p2/pool/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
../../../.p2/pool/plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-install
C:/Users/Sanjiv/eclipse/java-mars/eclipse
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/
Run Code Online (Sandbox Code Playgroud)
编辑 2 我已经尝试重新安装 …
所以我正在寻找关于命令glVertexAttribPointer的另一个SO问题,我遇到了一些轻微的混乱.这个问题的接受答案解释了,
但是当你进行调用时,还会有一个额外的隐含状态,它也会被存储为属性0:从当前绑定到GL_ARRAY_BUFFER的缓冲区中读取数据
这对我来说很有意义,但如果我有多个绑定的缓冲区GL_ARRAY_BUFFER呢?该glVertexAttribPointer()方法如何知道设置属性的方法?
例如,在我的代码中,我正在绘制一个渐变三角形.为此,我创建了2个VBO,一个是数组中的颜色数据,另一个是顶点位置.
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
static const GLfloat points[] = {
//data here
};
static const GLfloat colors[] = {
//data here
};
glGenBuffers(1, &buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW);
glEnableVertexAttribArray(0);
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0);
vs = glCreateShader(GL_VERTEX_SHADER);
fs = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(vs, 1, &vertexShaderData, NULL);
glShaderSource(fs, 1, &fragShaderData, NULL);
glCompileShader(vs);
glCompileShader(fs);
sp=glCreateProgram();
glBindFragDataLocation(sp, 0, "outColor");
glAttachShader(sp, vs);
glAttachShader(sp, fs);
glLinkProgram(sp);
glUseProgram(sp);
glGenBuffers(1, &colorBuffer);
glBindBuffer(GL_ARRAY_BUFFER, colorBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(colors), colors, GL_STATIC_DRAW); …Run Code Online (Sandbox Code Playgroud) c++ opengl vertex-buffer vertex-attributes vertex-array-object
我有很多实现接口的类.我可以将Stacks,Queues和ArrayLists定义为这样吗?
ArrayList<Class<? extends BaseClass>>
Run Code Online (Sandbox Code Playgroud)
存储对象?在我的场景中,每个对象将来自Stack或ArrayList中的另一个类?这种实施的利弊是什么?我是Java新手,因此这个问题.对此的任何替代建议?
我有一个程序,要求我找到素数直到10**10-1 (10,000,000,000).我写了一个Eratosthenes筛子来做这件事,它的效果很好(而且准确)高达10**9 (1,000,000,000).我通过计算它找到的素数来确认它的准确性,它在这里找到的图表上与 50,847,534的值相匹配.我用作unsigned int存储类型,它在大约30秒内成功找到所有素数.
但是,10**10要求我使用更大的存储类型:long long int.一旦我切换到这个,程序运行速度明显变慢(它已经3小时加上它仍在工作).这是相关代码:
typedef unsigned long long ul_long;
typedef unsigned int u_int;
ul_long max = 10000000000;
u_int blocks = 1250000000;
char memField[1250000000];
char mapBit(char place) { //convert 0->0x80, 1->0x40, 2->0x20, and so on
return 0x80 >> (place);
}
for (u_int i = 2; i*i < max; i++) {
if (memField[i / 8] & activeBit) { //Use correct memory block
for …Run Code Online (Sandbox Code Playgroud) java ×6
graphics ×2
swing ×2
ajax ×1
arraylist ×1
asp.net ×1
awt ×1
c ×1
c++ ×1
eclipse ×1
frozen ×1
graphics2d ×1
html ×1
inputstream ×1
installation ×1
interface ×1
io ×1
javascript ×1
jvm ×1
jvm-crash ×1
opengl ×1
performance ×1
sieve ×1
spotify ×1
text ×1
text-files ×1