在我的程序中,我想绘制一个简单的分数线图.我有一个文本文件,每行都是一个整数分数,我读入并希望作为参数传递给我的图形类.我在实现图形类时遇到了一些麻烦,我见过的所有示例都将它们的方法与它们的主要方法放在同一个类中,我不会这样做.
我希望能够将我的数组传递给对象并生成一个图形,但是在调用我的paint方法时,它要求我使用Graphics g ...这是我到目前为止所拥有的:
public class Graph extends JPanel {
public void paintGraph (Graphics g){
ArrayList<Integer> scores = new ArrayList<Integer>(10);
Random r = new Random();
for (int i : scores){
i = r.nextInt(20);
System.out.println(r);
}
int y1;
int y2;
for (int i = 0; i < scores.size(); i++){
y1 = scores.get(i);
y2 = scores.get(i+1);
g.drawLine(i, y1, i+1, y2);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我已经插入了一个简单的随机数生成器来填充我的数组.
我有一个现有的框架,基本上想要实例化Graph类并将面板安装到我的框架上.我真的很抱歉这个问题看起来如此混乱,但我睡不着觉......
我主要陈述中的代码是:
testFrame = new JFrame();
testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Graph graph = new Graph();
testFrame.add(graph);
Run Code Online (Sandbox Code Playgroud)
我不确定SSCE究竟是什么,但这是我尝试的一个:
public class Test { …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的程序实现一个登录功能,但它返回一个空指针异常.我知道当你在内存中提到一个里面没有任何内容的地方时会发生这种情况,但据我所知,我已经正确地实例化了所有对象 - 如果我错了请纠正我!
我正在尝试实现添加用户功能:我有一个用户名和密码列表,我有一个现有的方法,它读取该文件并将其存储在一个数组中.我想写一个新的登录列表,所以我写了一个新的方法,将这个数组转换为ArrayList,并最终写入一个新的登录,然后再次写入登录文件.问题是我得到了空指针异常.
方法1:
public String[] readFile(){
ArrayList<String> dataList = new ArrayList<String>();
String Line;
try {
String line = br.readLine();
do {
dataList.add(Line);
line = br.readLine();
}
while (!line.isEmpty());
br.close ();
}
catch (Exception e) {
e.printStackTrace();
}
String[] dataArr = new String[dataList.size()];
dataArr = dataList.toArray(dataArr);
return dataArr; // Returns an array containing the separate lines of the file
}
Run Code Online (Sandbox Code Playgroud)
方法2:
public void addNewUser (String username, String password){
String[] dataArr = readFile(); // Read in the list of profiles …Run Code Online (Sandbox Code Playgroud) 简介: 这是Miranda考试的过去考试问题,但语法与Haskell非常相似.
问题: 以下表达式的类型是什么?它的作用是什么?(函数长度和交换的定义如下).
(foldr (+) 0) . (foldr ((:) . length . (swap (:) [] )) [])
length [] = 0
length (x:xs) = 1 + length xs
swap f x y = f y x
Run Code Online (Sandbox Code Playgroud)
注意:
请随时回复haskell语法 - 抱歉使用星形作为多边形,但我不想将它错误地翻译成haskell.基本上,如果一个变量的类型为*而另一个变量具有*,则表示它们可以是任何类型,但它们必须是同一类型.如果有**,则意味着它可以但不需要与*具有相同的类型.我认为它对应于haskell usuage中的a,b,c等.
我的工作到目前为止
从长度的定义中你可以看到它找到了任何列表的长度,所以这给出了
length :: [*] -> num.
Run Code Online (Sandbox Code Playgroud)
从定义我认为swap接受一个函数和两个参数,并产生交换的两个参数的函数,所以这给出
swap :: (* -> ** -> ***) -> ** -> [*] -> ***
Run Code Online (Sandbox Code Playgroud)
foldr使用二进制函数(如加号)作为起始值和列表,并使用该函数从右向左折叠列表.这给了
foldr :: (* -> ** -> **) -> ** -> [*] -> **)
Run Code Online (Sandbox Code Playgroud)
我知道在函数组合中它是正确的关联,所以例如第一个点(.)右边的所有内容都需要生成一个列表,因为它将作为第一个折叠器的参数给出.
foldr函数输出一个值(折叠列表的结果),所以我知道返回类型将是某种多义类型而不是多类型列表.
我的问题 …
下面的等式是用Miranda语法编写的,但由于Miranda和Haskell之间的相似性,我希望Haskell程序员应该理解它!
如果定义以下功能:
rc v g i = g (v:i)
rn x = x
rh g = hd (g [])
f [] y = y
f (x:xs) y = f xs (rc x y)
g [] y = y
g (x:xs) y = g xs (x:y)
Run Code Online (Sandbox Code Playgroud)
你如何计算出函数的类型?我想我理解如何为f,g和rn解决这个问题,但我对部分应用程序部分感到困惑.
将是* - >*(或任何东西 - >任何东西,我认为它是 - > Haskell中的一个?)
对于f和g,函数类型是[*] - >* - >*?
我不确定如何找到rc和rh的类型.在rc中,g被部分地应用于变量i - 所以我猜这会将i的类型约束为[*].rc和g在rc的定义中应用了什么顺序?是否将g应用于i,然后将结果函数用作rc的参数?或者rc是否采用v,g和i的3个独立参数?我真的很困惑..任何帮助将不胜感激!多谢你们.
抱歉忘了添加hd是列表的标准head函数,定义如下:
hd :: [*] -> *
hd (a:x) = a
hd [] = …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ubuntu 上运行 HBase。我已经安装了它并且可以启动它(它会抛出一些警告,因为我使用的是 64 位系统,但我被告知我可以忽略这些)。但是,当我尝试启动 shell 时,我收到以下错误消息,但我对此很陌生,因此正在努力弄清楚。它说 Zookeeper 存在但失败了 4 次 - 你知道为什么吗?
2015-12-03 12:34:37,796 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2015-12-03 12:34:54,551 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 4 attempts
2015-12-03 12:34:54,552 WARN [main] zookeeper.ZKUtil: hconnection-0x2b289ac90x0, quorum=localhost:2181, baseZNode=/hbase Unable to set watcher on znode (/hbase/hbaseid)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:221)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:541)
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:879) …Run Code Online (Sandbox Code Playgroud) 嘿,我在理解递归代数类型如何工作以及如何准确使用它们时遇到了一些麻烦.例如,对自然数采用以下RAT定义:
data Nat = Zero | Succ Nat
Run Code Online (Sandbox Code Playgroud)
我们在这里使用RAT是因为这组值必须是无限的,我知道原则是用前一个表示每个新值,但我不明白它是如何形成自然数的.有人会介意清除这个吗?谢谢
我正在尝试学习使用Python中的xlrd包来读取Excel文件,并且我已经制作了一个包含按时间顺序排列的日期列表的示例文件,并在第二列中创建了它对应的星期几.
问题是,当我读入数据时,它会将其显示为数字.如何获取日期以显示其应有的方式?
[u'Date', u'Day']
[41162.0, u'Monday']
[41163.0, u'Tuesday']
[41164.0, u'Wednesday']
[41165.0, u'Thursday']
[41166.0, u'Friday']
Run Code Online (Sandbox Code Playgroud) 嗨,我有JComboBox3 个选项,我正在尝试找出actionlistener应用哪个选项,以便在选择一个选项时发生某些事情。目前我的代码是:
comboBoxMode = new JComboBox();
comboBoxMode.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
int selection = comboBoxMode.getSelectedIndex();
switch (selection){
case 0: break;
case 1: enableNormalModeFeatures(); break;
case 2: enableRevisionModeFeatures(); break;
case 3: enableTimerModeFeatures(); break;
}
}
});
comboBoxMode.setModel(new DefaultComboBoxModel(new String[] {"[--Please Select a Mode--]", "Normal", "Revision", "Timer"}));
Run Code Online (Sandbox Code Playgroud)
目的是在选择特定模式时启用页面上的其他选择工具。mouselistener 似乎不起作用。让我感到困惑的是,您实际上必须单击两次才能选择一个选项,但我假设有一些内置代码仅在选择了列表项时才运行?无论如何,任何指针将不胜感激,谢谢大家!
这可能是一个非常简单的问题,但我正在尝试创建一个模式数组,并且存在一些问题.我所做的是以下内容:
Pattern [] aminos = null;
aminos [0] = Pattern.compile("(gct)|(gcc)|(gca)|(gcg)");
aminos [1] = Pattern.compile("(tgt) | (tgc)");
aminos [2] = Pattern.compile("(gat) | (gac)");
Run Code Online (Sandbox Code Playgroud)
在我尝试运行它之前没有语法错误或任何东西,但是当我尝试运行它时,在第二行中断"Null指针访问:变量aminos在此位置只能为null".那么如何创建Pattern数组呢?当我忽略指定null时出现一个错误,要求我初始化数组,所以我不确定现在要做什么.
我想我可以将所有正则表达式模式存储在一个字符串数组中,然后根据需要编写一个小函数来形成模式,但如果我可以创建一个模式数组会更方便.
感谢您阅读!
在我的程序中,我加载a JTextArea以在单击按钮时显示一些文本.我添加了ActionListener并编写了一个loadQuestion()方法,但由于某种原因组件没有更新.该组件包含在另一个我通过get()和set()方法访问的文件中.我在loadQuestion()方法中运行了repaint()和revalidate()方法,并在方法中再次运行setTextArea(),但它似乎仍然无法工作!任何指针将不胜感激 - 提前感谢
public void loadQuestion () {
JTextArea tempArea = quizDisplay.getTextArea();
String text = "Hello World!!";
tempArea.append("Hi");
quizDisplay.setTextArea(tempArea);
quizDisplay.revalidate();
quizDisplay.repaint();
}
Run Code Online (Sandbox Code Playgroud) 我写了一个方法来检查输入的用户名和密码,文本文件包含所有用户名和密码.有趣的问题是,如果细节是正确的,那么应用程序会进行,但如果细节不正确,则会返回NullPointerException.我的代码如下:
// Checks whether the inputed details are correct
public boolean isCorrect(String u, String p) {
boolean check = false;
String line = null;
try {
do {
line = br.readLine();
// System.out.println("Checking profile : " + line);
String[] info = line.split("\t");
// nested if-statement to improve efficiency over &&
if (info[0].equals(u)) {
System.out.println("username found!");
if (info[1].equals(p)) {
System.out.println("password correct!");
check = true;
} else System.out.println("password incorrect!");
} else System.out.println("username not found!");
} while (line != null && check == …Run Code Online (Sandbox Code Playgroud) 以下功能将用于将Facebook访问令牌输入数据库.用户ID已经有一个关联的记录,因此只需要更新"acc_tok"字段.
出于某种原因,即使$ _result值保持为"1"并且函数回显"成功!",也会出现一条警告:
"警告:mysql_fetch_array()期望参数1为资源,布尔值为".有谁知道为什么看起来查询成功但只返回一个布尔值而不是mysql_fetch_array可以使用的东西?谢谢阅读
function setUserAccessToken($_uid, $_accTok){
$sql = "UPDATE `user_core` SET `acc_tok`=$_accTok WHERE `id` = $_uid";
$_result = mysql_query($sql) or die($sql."<br/><br/>".mysql_error());
echo $_result;
if ($_result) {
echo ("Successful!");
$_resultArray = mysql_fetch_array($_result);
print_r($_resultArray);
} else {
echo ("Failed!");
}
}
Run Code Online (Sandbox Code Playgroud)