「频率排序java」频率排序英语
今天给各位分享频率排序java的知识,其中也会对频率排序英语进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、百度搜索出来的答案是按时间按频率排序?能否设计排序选项?
- 2、Java 统计单词个数并按照出现次数进行排序
- 3、JAVA语言输出数组中出现频率高的数例如[1,1,2,3,3]输出1和3
- 4、JAVA编程单词频率排序输出 望高手指教
- 5、简单的JAVA程序
- 6、java输入任意数量的数字,统计每个数字出现的次数,求出最大值,并从大到小排序
百度搜索出来的答案是按时间按频率排序?能否设计排序选项?
1,txt文件是什么格式你没说明白, 是一行一个单词,还是空格/tab隔开;
2,按出现频率,具体什么频率呢。。。
不过我可以给你几个建议。读取txt文件用BufferedReader是最好的,他可以一次读取一行。
BufferedReader br = new BufferedReader(new InputStreamReader(new File("d:/*.txt")));
然后就是br.readLine(); 一行一行读取了
统计频率我也不清楚什么频率;你需要把问题描述清楚,可以直接email告诉我,我再帮你: sawen21@gmail.com
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.TreeMap;
/**
* @author a href="mailto: sawen21@gmail.com"sawen21/a
*
*/
public class WordStatistics {
/**
* @param args
* Write a program that reads words from a text file and displays all
* the words and their occurrences in ascending alphabetical order.
* The text file is passed as a command-line argument.
*
*
* results: a 3
all 2
alphabetical 1
and 2
argument 1
as 1
ascending 1
command-line 1
display 1
displays 1
file 3
from 1
in 1
is 1
occurrences 1
order 1
passed 1
program 1
reads 1
text 2
that 1
the 3
their 1
words 2
Write 1
*
*
*/
public static void main(String[] args) {
if(args.length==0)throw new IllegalArgumentException("file name is required!");
File file = new File(args[0]);
//如果大小写字母敏感 排序 只要把String.CASE_INSENSITIVE_ORDER 去掉即可;
MapString,Integer words = new TreeMapString,Integer(String.CASE_INSENSITIVE_ORDER);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String str = br.readLine();
while(str!=null str.length()0){
StringTokenizer st = new StringTokenizer(str," ");
while(st.hasMoreTokens()){
String word = st.nextToken();
if(words.containsKey(word)){//if map already contains word
int wordCount = words.get(word);
words.put(word, wordCount+1);
}else{
words.put(word, 1);
}
}
str = br.readLine();
}
} catch (FileNotFoundException e) {
System.out.println("file does not exist!");
} catch (IOException e) {
e.printStackTrace();
}
IteratorString iter = words.keySet().iterator();
while(iter.hasNext()){
String word = iter.next();
System.out.println(word +" " + words.get(word));
}
}
}
Java 统计单词个数并按照出现次数进行排序
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "I am a student";
String[] arr = str.split(" ");
System.out.println("共"+arr.length+"个单词");
for(String item:arr) System.out.println(item);
}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
JAVA语言输出数组中出现频率高的数例如[1,1,2,3,3]输出1和3
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.swing.JOptionPane;
public class Test88 {
public static void main(String[] args) {
int[] ss = { 1,3,2,5,2,5,7};
Map map = new HashMap();
for (int i = 0; i ss.length; i++) {
int count = 0;
for (int j = 0; j ss.length; j++) {
if (ss[i] == (ss[j])) {
count = count + 1;
}
}
// 为了不打印重复的,放入map中去掉重复的
map.put(ss[i], count);
}
// 遍历map,打印包含的数字和个数
Set key = map.keySet();
int k = key.size();
int ii[] = new int[k];// 存放出现次数最多的
k = 0;
int temp = 0;// 比较的时候的中间量
int temp2 = 0;
for (Iterator iterator = key.iterator(); iterator.hasNext();) {
int name = Integer.parseInt(iterator.next().toString());
int count2 = Integer.parseInt(map.get(name).toString());
if (temp count2) {
temp = count2;
}
System.out.println(name + "出现 " + count2 + " 次");
}
for (Iterator iterator = key.iterator(); iterator.hasNext();) {
int name = Integer.parseInt(iterator.next().toString());
int count2 = Integer.parseInt(map.get(name).toString());
if (temp == count2) {
ii[k]=name;
k++;
}
}
System.out.print("出现最多的是:");
for (int i = 0; i ii.length; i++) {
if (ii[i] != 0) {
System.out.print(ii[i] + " ");
}
}
}
}
数组的数字可以随意填写,其中第一次for的遍历是得到出现的数字最多的次数,第2次for的遍历是和这个次数比较,因为已经是最多的了,所以只要和这个相等,那个元素也就是出现最多的了,即使有出现次数同样最多的也可以保存
JAVA编程单词频率排序输出 望高手指教
建议你使用ECPLISE或者JBUILDER来编写JAVA程序,这样很好修改的,那里出错了,就会有提示,不会你这样很难修改
简单的JAVA程序
import java.util.Scanner;
public class JavaFun
{
public static void main(String[] args)
{
int cardNum=0;
Scanner in=new Scanner(System.in);//新建一个对象用来接收键盘输入
System.out.println("请输入四位数卡号:");
String readLine = in.nextLine(); //读取键盘输入的一行(以回车换行为结束输入)
cardNum=Integer.parseInt(readLine);//readLine是一个字符串,把他转成整数
if(cardNum/1000+(cardNum%1000)/100+(cardNum%100)/10+cardNum%10 24)
{
System.out.println("恭喜你中奖了");
}
else
{
System.out.println("抱歉,你没有中奖");
}
}
}
运行结果:
java输入任意数量的数字,统计每个数字出现的次数,求出最大值,并从大到小排序
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// 用来统计每个数字出现的次数
MapInteger, Integer map = new HashMap();
System.out.println("请输入任意个数字(输入-1结束)");
Scanner scanner = new Scanner(System.in);
int input;
while ((input = scanner.nextInt()) != -1) {
Integer count = map.get(input);
map.put(input, count == null ? 1 : count + 1);
}
int size = map.size();
int[] num = new int[size]; // 存储输入数字
int[] count = new int[size]; // 存储对应数字的次数
int i = 0;
for (Map.EntryInteger, Integer entry : map.entrySet()) {
num[i] = entry.getKey();
count[i] = entry.getValue();
i++;
}
// 根据出现次数排序
for (int j = 0; j size - 1; j++) {
for (int k = j; k size; k++) {
if (count[j] count[k]) {
int temp = count[j];
count[j] = count[k];
count[k] = temp;
// 数字数组也同步交换
temp = num[j];
num[j] = num[k];
num[k] = temp;
}
}
}
// 输入
System.out.println("数字\t次数");
for (int j = 0; j size; j++) {
System.out.println(num[j] + "\t" + count[j]);
}
}
}
频率排序java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于频率排序英语、频率排序java的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。