假设我有我的主要课程C:\Users\Justian\Documents\.如何让我的程序显示它在C:\Users\Justian\Documents?
硬编码不是一种选择 - 如果它被移动到另一个位置,它需要适应.
我想将一堆CSV文件转储到一个文件夹中,让程序识别所有文件,然后加载数据并操纵它们.我真的只想知道如何导航到该文件夹.
我已经让它在过去工作,但现在每当我选择File > Export... > Runnable JAR File并选择下拉菜单时"Launch Configuration",我得到的只是一个空白栏.
我怎样才能让我的主要课程出现?
.
大家好,
我已经创建了一个基本的数独求解器,可以很快地解决大多数问题.我仍然需要做很多工作才能解决最棘手的问题,但我想首先尝试实现一个基本的JFrame GUI.
我过去曾使用过互联网小程序,但从未使用过JFrame.
我想创建类似于下图的内容(对于初学者):
-------------------------------------------------------------------------------------------------
! Sudoku Solver 1.0 - [] X !
-------------------------------------------------------------------------------------------------
! _____________ _____________ _____________ _____________ _____________ _____________ !
! | _ _ _ | _ _ _ | _ _ _ | | _ _ _ | _ _ _ | _ _ _ | !
! | !5! !_! !_! | !_! !_! !_! | !6! !_! !1! | | !5! !7! !2! | !4! !9! !3! | !6! !8! !1! | …Run Code Online (Sandbox Code Playgroud) 我一直想弄清楚我想在以后的生活中使用什么计算机领域.大学就在我身边,我考虑过从事计算机工程,软件工程等方面的工作.
最近,我一直在研究计算机安全系统和这些的开发(纯粹用于教育目的,在我自己的财产上).不幸的是,在我看来,99%的人不知道他们在谈论什么.通常情况下,它只是"运行这个"或"运行那个"或"你可以找到一个能为你完成所有这些工作的程序" - 没有人知道这些程序是如何工作的,或者它们究竟是做什么的.
我觉得使用其他人创造的东西并不像大多数人那样称自己为"黑客".事实上,我对黑客攻击系统的兴趣与他们如何做到这一点一样.
我的问题都归结于此.
我想学习计算机的内部,外部,起点和下降 - 从互联网和数据传输等抽象概念到硬件.我想知道计算机如何存储数据(如何组织叮咬等)以及处理器等实际执行的操作.什么是WIFI,真的吗?计算机是否与光通信(我从飞机上阅读的杂志中读取的东西).
我有多年的计算机/编程经验,但我对计算机的了解非常广泛.计算机在彼此之间来回发送信息包,每个信息包都有标题和内容.计算机由多个组件组成,每个组件都有自己的功能(处理器,视频卡,RAM,硬盘驱动器等),我已经对它有了一些基本的了解.等等
计算机有这么多,我不知道从哪里开始.我相信我的一些大学课程会为我解决问题,但我很好奇,我想尽可能多地开始学习.
这个问题可能到处都是,所以请在必要时请我澄清.我现在有点急躁,但我试图以最快,最连贯的方式写出我的想法(尽管我可能在这个过程中完全失败了).
提前感谢任何建议!
Justian Meyer
请随意编辑此问题的标签.目前的可怕.
编辑:
所有这些评论让我兴奋:).这么多要学习,这么多探索:).
有没有人知道在java中将csv文件转换为xls或xlsx文件的任何快速,干净的方法?
我有一些东西来管理已经存在的csv文件,我需要其他程序的额外兼容性.
除包名之外的示例代码总是很受欢迎.
非常感谢,
瑞斯蒂昂
到目前为止,这是我的代码.我需要从行中删除返回("\n").我的一些单元格包含多行信息(列表),因此我可以在csv中使用"\n"来表示单元格中的多行,但xls将这些视为将其置于新行中.
代码是从互联网上修改的,目前有点乱.您可能会注意到一些已弃用的方法,因为它是在2004年编写的,并且一定要忽略可怕的返回语句.我现在正在使用Sop进行测试,之后我会把它清理干净.
package jab.jm.io;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class FileConverter {
public static String ConvertCSVToXLS(String file) throws IOException {
if (file.indexOf(".csv") < 0)
return "Error converting file: .csv file not given.";
String name = FileManager.getFileNameFromPath(file, false);
ArrayList<ArrayList<String>> arList = new ArrayList<ArrayList<String>>();
ArrayList<String> al = null;
String thisLine;
DataInputStream myInput = new DataInputStream(new FileInputStream(file));
while ((thisLine = …Run Code Online (Sandbox Code Playgroud) 我一直对Project Euler的挑战感到很开心,我注意到我的12号解决方案是我~593.275 ms每年最慢的解决方案之一.这是我在~1254.593 ms每个月的第10号解决方案的第二位.我所有的其他答案都花费不到3 ms最好1 ms.
问题12的我的Java解决方案:
主要():
int index = 1;
long currTriangleNum = 1;
while (numDivisors(currTriangleNum) <= 500) {
index++;
currTriangleNum += index;
}
System.out.println(currTriangleNum);
Run Code Online (Sandbox Code Playgroud)
numDivisors():
public static int numDivisors(long num) {
int numTotal = 0;
if (num > 1)
if (num % 2 == 0) {
for (long i = 1; i * i <= num; i++)
if (num % i == 0)
numTotal+=2;
} else {
// …Run Code Online (Sandbox Code Playgroud) 要保持这一短.有没有办法在编辑器中单击一个类的名称,并在另一个窗口中查看其所有方法(继承和其他)的列表?
这与我的另一个问题有关:https://stackoverflow.com/questions/4457751/drag-and-drop-with-andengine-android,我担心我会忽略一个有用的方法.
非常感谢您的帮助.
-Justian M.
我经常听说break在Java 中使用s被认为是不好的做法,但是在阅读Stack Overflow上的一些线程之后,我已经看到了其他方面.许多人说在某些情况下这是可以接受的.
在这种情况下,我有点困惑的是什么/不是坏习惯.
对于Project Euler:问题7,我构建了下面的代码.挑战是找到第10001个素数.
int index = 2, count = 1, numPrime = 1;
while (true) {
index++;
if (isPrime(index)) {
count = index;
numPrime++;
}
if (numPrime >= 10001)
break;
}
System.out.println(count);
Run Code Online (Sandbox Code Playgroud)
这会返回正确的答案(21毫秒),但我是否忽略了严重的警告?创造一个没有休息的while循环是100%可能的,但我发现这更容易理解.
我使用break;不良做法的方式是什么?我知道总有一种方法可以使用它,但这真的很可怕吗?
非常感谢
瑞斯蒂昂
编辑
这是我的isPrime()代码.我不妨在这方面优化它.
public static boolean isPrime(long num) {
if (num == 2)
return true;
if (num % 2 == 0 || num <= 0)
return false;
for (long i = 3; i * i <= …Run Code Online (Sandbox Code Playgroud) 是的,我知道这不是什么新鲜事,那里已经有很多问题(它甚至有自己的标签),但是我想用Java创建一个Sudoku Solver,仅仅是为了训练自己编写更多的代码.高效.
在程序中执行此操作的最简单方法可能是在每个列和行中分析大量的for循环,收集每个单元格的可能值,然后仅使用一种可能性清除单元格(无论它们是否只包含1个数字,或者它们是其行/列中唯一包含此数字的单元格,直到您有一个已解决的拼图.当然,纯粹想到这个动作应该会引起每个程序员的注意.
我正在寻找的是以最有效的方式解决这个问题的方法(请尽量不要包含太多的代码 - 我想自己想出那个部分).
如果可能的话,我想避免使用数学算法 - 那些太容易了,而且100%不是我的工作.
如果有人能够提供一个有效的思考过程来解决数独谜题(无论是通过人类还是计算机),我会非常高兴:).我正在寻找一些模糊的东西(所以这是一个挑战),但足够的信息(所以我并没有完全迷失)让我开始.
非常感谢,
Justian Meyer
编辑:
看看我的代码,我开始思考:存储这些求解状态(即数独网格)的可能性是什么.我想到了2D阵列和3D阵列.哪个可能最好?2D可能更容易从表面进行管理,但3D阵列也会提供"盒子"/"笼子"编号.
编辑:
没关系.我要去3D阵列.
我正在使用Super CSV,它看起来像一个惊人的包.
我唯一担心的是如何使用名称中带空格的列.不,我不能回去自己删除空格.这些文件将由数百个提供给我,我没有时间返回并修复每个文件的所有60列,我不能相信其他人正确地做到这一点.
如何使用标题中带有空格的列(即"名字"而不是"FirstName"或"firstName")?
谢谢!
有关编码样本,请查看此处:http://supercsv.sourceforge.net/codeExamples_general.html