好的,我阅读了Java文档,我无法弄清楚这两种方法之间的主要区别.有时我曾经使用过setSize()
,有时候setPreferredSize()
,有时一个人会做我想要的,有时候是另一个.
那么,两者之间的主要区别是什么?我应该使用哪一个JFrames
和JPanels
?
谢谢
我一年来一直致力于Java项目.我的代码已经好几个月了.几天前,我将Java SDK升级到Mac上的最新版本1.6.0_26(Snow Leopard 10.6.8).升级后,发生了一些非常奇怪的事情.当我运行一些类时,我收到此错误:
位置0x202 rip = 0x202的内存访问无效
但是,如果我用-Xint(解释)运行它们,它们可以工作,但速度慢但工作正常.我在使用按位运算符(用于游戏奥赛罗的位板)的类中得到了这个问题.我不能在这里放任何代码,因为我没有得到错误,异常或类似的东西.我只是得到了令人讨厌的消息.
代码在没有-Xint的情况下运行是否正常但是它可以使用吗?我该怎么办?
提前致谢
将Cognito
身份管理与Dynamo DB
?相结合是否合适?
我想用Facebook验证用户,我可以使用它,然后将用户相关数据存储在表格中.Cognito
DynamoDB
我可以使用哪些信息Cognito
作为我桌子的主键来保证单一性?或者我应该只使用我可以使用图形API获得的facebookId ?
facebook facebook-graph-api ios amazon-dynamodb amazon-cognito
我有一个简单游戏的代码,其中必须实现AgentInterface才能为游戏中的一个角色创建代理控制器.GameState是一个实现GameStateInterface的类,实现此接口的对象可以传递给代理,因此代理可以从游戏状态读取和分析数据,并且代理必须返回相应的操作(作为int返回)角色应该采取.
这是代理必须实现的AgentInterface:
public interface AgentInterface {
// the return value specifies the direction of the joystick
public int action(GameStateInterface gs);
}
Run Code Online (Sandbox Code Playgroud)
使用名为MyAgent的代理运行游戏:
GameState gs = new GameState();
AgentInterface agent = new MyAgent();
while (true) {
// more code here
int bestAction = agent.action(gs)
// more code here
}
Run Code Online (Sandbox Code Playgroud)
但是,GameState中存在一些代理无法访问的信息,因为这会欺骗控制器.但是,执行从GameStateInterface到GameState的转换转换将允许代理访问GameStateInterface中未定义的信息,如下所示:
public MyAgent implements AgentInterface {
public int action(GameStateInterface gs) {
int nLives = ((GameState) gs).nLivesRemaining; // IS IT POSSIBLE TO DENY/PREVENT THIS CAST??
// Do more stuff here
return BestAction;
} …
Run Code Online (Sandbox Code Playgroud) 我一直在使用Java中的Bitset类,我想在C中做类似的事情.我想我必须手动完成它作为C中的大多数东西.什么是有效的实现方法?
byte bitset[]
Run Code Online (Sandbox Code Playgroud)
也许
bool bitset[]
Run Code Online (Sandbox Code Playgroud)
?
我正在尝试测试8种不同的游戏算法.这些算法可以在游戏界面之后对抗彼此不同类型的游戏.
所以,他们必须互相对抗100场比赛.我已经完成了这一部分并且工作正常.现在,我正在努力使其成为多线程,以利用朋友的计算机的8核.
我对使用线程的经验很少.那么,为了使我的代码多线程,我必须做出哪些改变?
这是我的单线程版本的代码.
编辑:我想到的解决方案(我的基本知识)是关于制作一个Match类,它需要两个玩家和他们想要玩的游戏.该类将实现Runnable,我可以为每个游戏创建一个线程.我现在的问题是,一旦run()方法完成,我将如何通知结果?
谢谢
for (int p1 = 0; p1 < allPlayers.length; p1++)
{
for (int p2 = p1 + 1; p2 < allPlayers.length; p2++)
{
for (int t = 0; t < trials; t++)
{
int player1 = t % 2 == 0 ? p1 : p2;
int player2 = t % 2 == 0 ? p2 : p1;
Player[] players = new Player[] { allPlayers[player1], allPlayers[player2] };
game.newGame();
while (!game.isFinished())
game.playNthMove(players[game.currentPlayer()].move(game));
data[p1][p2][t] = getCharValue(game.getOutcome()[t % 2 …
Run Code Online (Sandbox Code Playgroud) 如何打印通用java类型的类型?
反射?任何招数?
public class Foo<K> {
private K element;
@Override
public String toString() {
return "Type: " + K;
}
}
Run Code Online (Sandbox Code Playgroud) 如何向此头文件添加多个实现:
MoveAgent.h
#ifndef _GAMEAGENT_
#define _GAMEAGENT_
#include "Defs.h"
#include "GameModel.h"
MoveDirection takeDirection(GameState *gs);
#endif _GAMEAGENT_
Run Code Online (Sandbox Code Playgroud)
MoveAgent.c:假设我有一个返回随机移动的实现
MoveDirection takeDirection(GameState *gs) {
MoveDirection dir = DIR_NONE;
while (dir == DIR_NONE) {
int index = arc4random() % gs->moves_total;
MoveDirection tempDir = gs->moves[index];
if (tempDir != oppDir(gs->car.direction)) {
dir = tempDir;
}
}
return dir;
}
Run Code Online (Sandbox Code Playgroud)
具有该功能的多个实现的实用方法是什么?
正如您可能猜到的那样,我是一名Java程序员,正在尝试制作一个基本游戏来学习C,所以我试图这样做来模拟Java界面.
有任何想法吗?
我一直有这个ArrayLists数组的问题.也许你可以帮忙.
//declare in class
private ArrayList<Integer>[] x;
//in constructor
x=new ArrayList[n];
Run Code Online (Sandbox Code Playgroud)
这会生成有关未经检查的转换的警告.
但
x=new ArrayList<Integer>[n];
Run Code Online (Sandbox Code Playgroud)
是一个编译器错误.
任何的想法?
谢谢!
我是Java程序员,我正在努力解决这些简单的问题.
我怎样才能返回这个多维数组?是否必须返回**指针?我如何在另一个文件中获取它?
static MoveDirection ghost_moves[GHOSTS_SIZE][4];
MoveDirection** get_ghost_moves() {
return ghost_moves;
}
Run Code Online (Sandbox Code Playgroud)