栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

《算法第四版》如何使用命令行输入

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

《算法第四版》如何使用命令行输入

《算法第四版》如何使用命令行输入

我最近在学习《算法第四版》,发现其中使用命令行输入文件作为参数的,如何输入文件作为参数是困扰我的一个难题,使用eclipse输入,但是就是不对,可能是我的方法不对,然后我就各种百度,去查找资料,如何使用命令行输入,其实各种各样的答案,五花八门很多都不能解决问题,然后我就综合各种资料和自己的实践,总结出了如何使用使用命令行输入,因为我现在还是在刚刚开始看,等我大致看完了,再来更新命令行输入,毕竟我现在的写的都是比较浅显的知识。
以这段代码为例:

package com.jxust.cn.demo;

import java.io.BufferedReader;
import java.io.IOException;
import edu.princeton.cs.algs4.ST;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

public class FrequencyCounter2 {

	public static void main(String[] args) throws IOException {
		int minlen = Integer.parseInt(args[0]);
		ST st = new ST();
		while(!StdIn.isEmpty()) {
			String word = StdIn.readString();
			if(word.length() < minlen) continue;
			if(!st.contains(word)) st.put(word, 1);
			else st.put(word, st.get(word)+1);
		}
		
		String max = " ";
		st.put(max, 0);
		for(String word : st.keys()){
			if(st.get(word) > st.get(max))
				max = word;
			
		}
		
		StdOut.println(max+" "+st.get(max));
	}

}


大家忽视报错,因为我是使用命令行运行,哪个报错的代码和我们要测试的代码没有关系,就不处理报错的代码,只要专注于FrequencyCounter2.java就行。
FrequencyCounter2.java这个代码里面,有包名 :
package com.jxust.cn.demo;
所以我们要在src的目录下去运行代码,而不是在FrequencyCounter2.java所在的目录,如下
B编译和运行命令行就有点门道了,小心踩坑,我就踩坑了,如果不是因为踩坑了,我应该早就学会如何使用命令运行,不至于拖到现在学习算法第四版了

首先对代码进行编译
编译有四种方式,这四种方式都是可以的,大家主反斜杠的方向的写法,其次要引入依赖的外部库algs4.jar这是代码需要的,不引入就会报错。

第一种方式
E:eclipse-workspaceAlgorithmssrc>javac -cp F:Algs4algs4.jar comjxustcndemoFrequencyCou
nter2.java
第二种方式
E:eclipse-workspaceAlgorithmssrc>javac -cp F:Algs4algs4.jar com/jxust/cn/demo/FrequencyCou
nter2.java
第三种方式
E:eclipse-workspaceAlgorithmssrc>javac -cp F:/Algs4/algs4.jar com/jxust/cn/demo/FrequencyCou
nter2.java
第四种方式
E:eclipse-workspaceAlgorithmssrc>javac -cp F:/Algs4/algs4.jar comjxustcndemoFrequencyCou
nter2.java

其次是运行,这就有点小坑,为什么?
因为它没有四种命令行模式,反斜杠随便写的话,就可能出错,
入下是四种输入模式

可以看出来只有以下两种是对的

E:eclipse-workspaceAlgorithmssrc>java -cp F:Algs4algs4.jar; com/jxust/cn/demo/FrequencyCounter2 1 <
tinyTale.txt
it 10

E:eclipse-workspaceAlgorithmssrc>java -cp F:/Algs4/algs4.jar; com/jxust/cn/demo/FrequencyCounter2 1 <
tinyTale.txt
it 10

有以下几点需要注意
1:-cp F:/Algs4/algs4.jar后面要加冒号";",其次冒号后面要加一个空格。在编译期间不用加冒号,运行时才要加上冒号
2:注意反写杠的方向,不是任意一种都行,我个人比较推荐使用以下这种方式


今天就聊到这里,下次等学会了,再来详细说一说哈,看看能不能顺便把eclipse的运行方式也搞懂。希望能够帮到大家。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/758810.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号