连接4个Java Win条件检查

我有编程任务需要制作2D棋盘游戏。 我想要制作的游戏是连接4游戏。 我遇到的问题是我似乎无法获得胜利条件。 有没有人有任何建议。 我还是比较新的编程,所以如果这是一个简单的修复我很抱歉。 这是我的代码: import java.io.*; import java.net.*; class C4GameSession implements C4Constants { private Socket player1; private Socket player2; // Create and initialize cells private char[][] cell = new char[6][7]; private DataInputStream fromPlayer1; private DataOutputStream toPlayer1; private DataInputStream fromPlayer2; private DataOutputStream toPlayer2; // Continue to play private boolean continueToPlay = true; /** Construct […]

如何在java中读取多个文本文件以供GUI使用 – 没有找到答案

伙计们我是java的新手,我看过去的问题,但我没有找到我理解的答案..我想阅读一些文本文件,并使用ArrayLists在多个JcomboBox和Jlists中使用它们我希望得到的同时然后我想用一个监听器单独到达每个人让我说我有3个文本文件(学校,class级,stundents)和2个JcomboBox中的2个和Jlist中的第3个…我希望得到当我选择学校时,combobox中的课程……以及当我选择课程等时让学生进入Jlist ..我知道如何阅读文本文件但是有任何简单的方法来阅读多个同一时间 ?? 或者我需要为每个代码写这个代码: fr = new FileReader(“c.txt”); br = new BufferedReader(fr); list = new ArrayList(); while ((s = br.readLine()) !=null){ list.add(s); }

JAVA NIO Bytebuffer.allocateDirect()对int的大小限制

我正在尝试制作堆外内存缓冲区。 我想要非常大的(如10GB)缓冲区。 我听说jvm堆有时会冻结,因为完整的GC。 所以,我尝试使用java.nio.ByteBuffer创建缓冲区。 但是,我遇到了很大困难! java.nio.ByteBuffer.allocateDirect(int size) 函数只支持整数。 但我想要更大的尺寸。 我能做什么? 我该怎么办? 请帮我堆叠溢出大师。 我的开发环境是macbook pro,i7 2.4ghz,16gb ddr3,250ssd,osx 10.9,eclipse kepler x64。 我尝试解决问题: ByteBuffer buffer = ByteBuffer.allocateDirect(1024*1024*2000); ByteBuffer buffer1 = ByteBuffer.allocateDirect(1024*1024*2000); ByteBuffer buffer2 = ByteBuffer.allocateDirect(1024*1024*2000); ByteBuffer buffer3 = ByteBuffer.allocateDirect(1024*1024*2000); 但这不起作用。 仅重新分配内存1024 * 1024 * 2000 请帮帮我。

检查字符串数组输入的Anagram

这是我下面的代码,用于检查给定字符串数组的字谜。 即使在最简单的情况下,只有一个输入,它总是给我假。 我不明白我没有正确地将字符串数组转换为字符串,或者我的算法是完全错误的。 public class anagram { static boolean isAnagram(String[] s1, String[] s2) { String str = s1.toString(); String str2 = s2.toString(); if (str.length() != str2.length()) return false; for (int i =0; i<str.length();i++) { for (int j = 0;j<str2.length();j++) { if (s1[i] == s2[j]) { return true; } return false; } } return true; } […]

Sparql Select Query适用于Sesame-Workbench但不适用于Java

我正在尝试创建一个Sparql-Query来获取与讲座相关的所有消息。 我是整个“语义网”故事的新手,所以如果使用命名空间完全错误,请耐心等待。 我尝试执行的查询是: PREFIX siocNS: PREFIX rdfPred: PREFIX purlPred: PREFIX purlPredLecture: <http://purl.org//lecture/> select ?post ?title ?content ?time ?creator where { ?post rdfPred:type siocNS:Post. ?post purlPred:title ?title. ?post purlPred:content ?content. ?post purlPred:created ?time. ?post purlPred:creator ?creator. ?post purlPred:context purlPredLecture:1337-7331. } 其中1337-7331是一个ID。 在Sesame-Workbench上,查询似乎工作正常(因为我得到了我预期的2行)。 在Java上,使用Jena,似乎我的QueryExecuion不正确。 这是我的代码: String prefix = “PREFIX siocNS: \n” + “PREFIX rdfPred: \n” + “PREFIX […]

如何使用ArrayList 在sharedpreferences中保存/检索

我编译列表: titleList.add(0, title) ,将它应用于sharedpreferences: prefs.putString(TITLES, title).apply() ,现在需要检索它。 我在这里看了很多解决方案,似乎没有一个能够很好地解决我的问题。 该程序假设用户输入文本并使用SharedPreferences保存它,因此稍后可以在ListActivity使用它。 这个列表目前是一个ArrayList (我相信我需要它在数组列表中,因为我使用AutoCompleteEditText来获取数组列表中的建议,所以我需要适配器)。 基于上述逻辑, prefs是一个充满字符串对象的共享首选对象。 我尝试过使用prefs.getAll().values.toArray(new String[0 … 100]) 。 我发现在一本“Android”书中。 它有效,但只获得第一项。 在尝试方法之后, Set和其他一些方法,这就是获得任何东西的方法。 我需要让程序完美地工作。 有人可以帮助获取此列表以保存在共享首选项中,将其作为完整的拆分列表(可以编制索引)检索并将其传递给ListActivity吗? ArrayList titleList = new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_make_lyric); autoCompleteAdapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1, titleList ); lyricTitle.setAdapter(autoCompleteAdapter); lyricTitle.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View […]

InjectMocks对象的org.mockito.exceptions.misusing.NotAMockException

我试图模拟一个方法的返回值,但我得到NotAMockException 。 @InjectMocks private MyService myService; @Mock private OtherServiceUsedInMyServiceAsAutowired otherServiceUsedInMyServiceAsAutowired; 在MyService我有一个名为myMethod()的方法,我希望在调用此方法时返回虚拟对象。 doReturn(someDummyObject).when(myService).myMethod(any(), any(), any()); 那时我得到了错误。 我究竟做错了什么? 完整错误: org.mockito.exceptions.misusing.NotAMockException: Argument passed to when() is not a mock! Example of correct stubbing: doThrow(new RuntimeException()).when(mock).someMethod();

用Java读取和处理大文本文件?

我想阅读一个非常大的文本文件(Web应用程序的日志文件)并进行一些处理。 是否有任何框架可以帮助完成此类工作? 该文件是100M +,我应该使用mutil-thread? 最好的祝福

如何从Java中的MS Exchange Server以编程方式获取电子邮件标头?

我无法访问电子邮件中的标题。 那一刻我只能获得ExtendedPropertyCollection对象,但我不知道如何使用它。 ItemEvent item = (ItemEvent) event; EmailMessage message = EmailMessage.bind(args.getSubscription().getService(), item.getItemId()); ExtendedPropertyCollection extendedProperties = ((ExtendedPropertyCollection) message.getExtendedProperties()); 更新: Java中的结果代码如下所示: PropertySet propertySet = new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent); EmailMessage message = EmailMessage.bind(args.getSubscription().getService(), item.getItemId(), propertySet); String emailTextWithHeaders = new String(message.getMimeContent().getContent());

在google appengine后端只运行一个后台线程

正如在文档中提到的,我在后端运行一个后台线程,其中一个实例是无限的,用于一些连续的后台处理。 import com.google.appengine.api.ThreadManager; import java.util.concurrent.AtomicLong; AtomicLong counter = new AtomicLong(); Thread thread = ThreadManager.createBackgroundThread(new Runnable() { public void run() { try { while (true) { counter.doStuff() Thread.sleep(10); } } catch (InterruptedException ex) { throw new RuntimeException(“Interrupted in loop:”, ex); } } }); thread.start(); 我已将此代码绑定到_ah / start端点,以便在实例启动后执行它。 但是,当在本地服务器上运行时,我看到_ah / start请求在运行时期间多次出现,并且它启动了多个这样的线程。 我一次只需要一个线程来减少后台处理中的争用。 有没有办法抓住现有的bg线程并检查它是否正在运行,以便可以避免新的线程创建? 更新将此代码上传到云后我还观察到,每次在后端调用_ah / start时,它会生成一个新线程作为_ah / […]