我刚刚创建了代码的类图,我想将其导出为外部jpeg或其他img格式以放入报告中。但是,我看不到该怎么做。谁能告诉我在哪里?我试过右键单击它->导出,但是那里没有图像格式。
我正在创建Java游戏Tic Tac Toe.
单元格将具有三种状态:空,X或O.
用Java表示这个的最佳实践是什么?我应该创建自己的Cell类还是只使用整数(0/1/2)来表示这三种状态?如果它有两个状态,那么我可以使用例如boolean来表示两个状态,是否有一个类似已经定义的类具有三个状态的东西?
如何添加例如[1,2,3]到[5,4,6]返回[6,6,8]这是我到目前为止所拥有的:
func1 :: [Int]->[Int]->[Int]
func1 x y = [a+b|a<-x,b<-y]
Run Code Online (Sandbox Code Playgroud)
我应该尝试删除我不想要的元素,还是有更简单的方法来做到这一点?
又是我 :)
正如我在标题中所说,我正在寻找一种方法来搜索特定int的列表(int)列表.这是一个更大问题的一部分,但我已经简化了它,以便在这种情况下更容易解释.
在这个例子中,我试图搜索我的整体列表列表以寻找第一.我希望它总计找到第一的次数.在下面的例子中,结果将是3.
这是我到目前为止所拥有的:
a = [1,2,3]
b = [1,17,12]
c= [201,16,1]
d = [234,235,123]
y =[a,b,c,d]
getOne :: [[Int]]->Int
getOne List' = total
where
checkNumber x = x==1
checkList = filter CheckNumber List'
total = sum checkList
Run Code Online (Sandbox Code Playgroud)
我知道我不能这样做,因为我无法检查List是否等于1,但如何检查列表中的列表
如何检查布尔列表是否包含True?
例如
[True,False] = True
[False,False] = False
[False,False,True] = True
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用列表推导来实现一个函数,它按指定的次数复制一个元素.我真的坚持这个但我正在努力
例如
copy 2 'a' = aa
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止:
copy2 :: Int->a->[a]
copy2 x y = func1 y [b|b<-[1..x]]
Run Code Online (Sandbox Code Playgroud)
其中func1以某种方式将y映射到x的每个元素
这不是很多,但我真的对这个对不起的家伙一无所知.
有没有简单的方法来检查两个数组是否包含任何公共元素?这个合适吗?数组包含char类型.
Arrays.asList(encryptU).contains(Ualpha[randNum]));
Run Code Online (Sandbox Code Playgroud)
提前致谢!
这是我在这里的最后一个问题的扩展:基本的haskell:复制元素
但是当添加无效输入时,我希望它打印出一个错误消息,说"负值"或类似的东西.这在哈斯克尔有可能吗?工作代码:
copy :: Int->a->[a]
copy 0 _ = []
copy y a = [a]++(copy (y-1) a)
Run Code Online (Sandbox Code Playgroud)
最后一行:
copy b c = error "negative value"
Run Code Online (Sandbox Code Playgroud) 无论如何我可以读取一个字符串作为整数?
例如阅读
triangle = ["1"
,"2 3"
,"4 5 6"]
Run Code Online (Sandbox Code Playgroud)
如 [[1],[2,3],[4,5,6]]
convertToInt :: [String] -> [[Int]]
convertToInt [] = []
convertToInt (x:xs) = **(somehow convert x to list of ints)** : convertToInt xs
Run Code Online (Sandbox Code Playgroud)
不确定如何处理,是否有任何内置功能?
编辑:谢谢!这是解决方案
convertToInt :: [String] -> [[Int]]
convertToInt [] = []
convertToInt (x:xs) = (map read (words x)) : convertToInt xs
Run Code Online (Sandbox Code Playgroud) 我不确定为什么我的代码不起作用.我正在尝试使用arraylist创建图形,但此代码似乎不起作用.每当我尝试从arraylist获取节点ID时它返回0.我确信我刚刚做了一些笨拙的事情.ayone可以指出我的错误吗?
private ArrayList<Node> NodeList = new ArrayList<Node>();
public void addNode(int id, String Label, List connections) {
NodeList.add(new Station(id, Label, connections));
}
public ArrayList<Node> getNodes() {
return NodeList;
}
Run Code Online (Sandbox Code Playgroud)
然后在我的主要方法(这些仅用于测试目的)
ArrayList<Integer> connections = new ArrayList<Integer>();
connections.add(2);
connections.add(5);
g.addNode(6, "first",connections );
System.out.println(""+g.getNodes().get(0).getID());
Run Code Online (Sandbox Code Playgroud)
谢谢你们的兴趣!这是车站类:
private int id;
private String stopName;
private ArrayList connections;
public Station(int id, String stopName, List connection) {
id = this.id;
stopName = this.stopName;
setConnections(connection);
}
public List getConnections() {
return connections;
}
public int getID() {
return id;
} …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法来保持球员得分高分.
一个典型的输入:
map.put(p1, 9);
map.put(p2, 7);
map.put(p3, 9);
Run Code Online (Sandbox Code Playgroud)
现在我需要一种订购地图的方法,以便能够根据他们的分数查看玩家的顺序.但是,我尝试过根据地图的价值进行排序,但后来我失去了两个或更多玩家得分相同的情况.
地图甚至是最好的方法,还是我应该尝试不同的数据类型?我只需要根据他们的分数订购玩家.
我正在寻找一种每X分钟做一次事的方法.
例如,在游戏中,您将每3分钟激活一次
foo();
Run Code Online (Sandbox Code Playgroud)
但鉴于其他行动将会继续,我不知道如何做到这一点.即,我们不能只等待3分钟然后做,foo()而程序的其余部分必须运行,用户可以调用其他方法,但在后台我们必须计数并准备好foo()时间准备好了.
如果有人能给我一个起点,我会非常感激!