Java统计代码运行图 java生成统计图表

JAVA 怎么在命令行中输入字符串数组,统计它们的个数后输出,要代码

//构建控制台的输入流

创新互联建站IDC提供业务:大邑服务器托管,成都服务器租用,大邑服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

System.out.print("input:\n");

//用于存储键值对的map

Map String, Integer countMap = new HashMapString, Integer();

String strtemp = "";

String []strarray;

//从控制台读取一行

String str = reader.readLine();

reader.close();

int count = 1;

int cur;

//如果没有输入

if(str == null || "".equals(str))

System.out.println("there are some erros!");

else{

//在字符串中找到第一个{

cur = str.indexOf('{');

if(cur 0){

System.out.println("do not contain '{'");

}else{

//在字符串中找到最后一个}

strtemp = str.substring(cur + 1);

cur = strtemp.lastIndexOf('}');

if(cur = 0){

strtemp = strtemp.substring(0, cur);

strarray = strtemp.split("\\,");

for(String ts : strarray){//将找到的字符串放入map中

if(countMap.containsKey(ts))

count += countMap.get(ts);

countMap.put(ts, count);

count = 1;

}

//打印字符串键对值

for(String ts : strarray){

if(countMap.containsKey(ts)){

System.out.println(ts + ": " + countMap.get(ts));

countMap.remove(ts);

}

}

}else{

System.out.println("do not contain '}' or no values in {}");

}

}

}

怎么用java编写统计文件中的字符数、单词数和行数?

在C盘新建文件1.txt,输入任意字符,如下图:

编写java代码。如下:

import java.io.BufferedReader;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.util.TreeMap;

public class Test {

// 统计数字或者字符出现的次数

public static TreeMapCharacter, Integer Pross(String str) {

char[] charArray = str.toCharArray();

TreeMapCharacter, Integer tm = new TreeMapCharacter, Integer();

for (int x = 0; x  charArray.length; x++) {

if (!tm.containsKey(charArray[x])) {

tm.put(charArray[x], 1);

} else {

int count = tm.get(charArray[x]) + 1;

tm.put(charArray[x], count);

}

}

return tm;

}

public static void main(String[] args) {

BufferedReader br = null;

int line = 0;

String str = "";

StringBuffer sb  = new StringBuffer();

try {

br = new BufferedReader(new FileReader("c:\\1.txt"));

while ((str = br.readLine()) != null) {

sb.append(str);

++line;

}

System.out.println("\n文件行数: " + line);

System.out.println("\n文件内容: " + sb.toString());

TreeMapCharacter, Integer tm = Pross(sb.toString());

System.out.println("\n字符统计结果为:" + tm);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}运行结果如下图:

Java使用循环,实现猜拳游戏统计多少局及胜率?

为了让游戏有参与感,并体现java面对对象的思想,我先创建一个Player选手类,包含选手的名字playerName还有出拳方法guess()。出拳时采用随机获取0、1和2的方式分别代表石头、剪刀和布,代码如下:

public class Player {

private String playerName;

public Player(String playerName) {

this.playerName = playerName;

}

public String getPlayerName() {

return playerName;

}

//出拳方法 0-石头 1-剪刀 2-布

public int guess() {

//随机获取0、1、2

int num = new Random().nextInt(3);

if (num == 0) {

System.out.print("选手" + this.playerName + "出的是石头 ");

} else if (num == 1) {

System.out.print("选手" + this.playerName + "出的是剪刀 ");

} else if (num == 2) {

System.out.print("选手" + this.playerName + "出的是布 ");

}

return num;

}

}

然后在主类中,首先要输入对局的总数,然后创建两名选手进行pk,在pk()方法中制定了获胜规则,详见代码注释。最终统计并利用BigDecimal计算胜率(BigDecimal可以很完美的解决整数除法及其四舍五入保留小数的问题):

public class Main {

public static void main(String[] args) {

System.out.println("请输入本局局数:");

Scanner scanner = new Scanner(System.in);

int sum = scanner.nextInt();

//创建结果数组,resultArray[0]代表p1的获胜局数,resultArray[1]代表p2的获胜局数,resultArray[2]代表平局局数

int[] resultArray = new int[3];

//创建两名选手

Player p1 = new Player("张三");

Player p2 = new Player("李四");

for (int i = 0; i sum; i++) {

//根据总局数进行pk

int result = pk(p1, p2);

if (result == 1) {

resultArray[0]++;

} else if (result == -1) {

resultArray[1]++;

} else {

resultArray[2]++;

}

}

System.out.println("");

System.out.println("最终结果统计:");

System.out.println("选手[" + p1.getPlayerName() + "]获胜局数为:" + resultArray[0] + ",胜率为:" +

new BigDecimal(resultArray[0]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

System.out.println("选手[" + p2.getPlayerName() + "]获胜局数为:" + resultArray[1] + ",胜率为:" +

new BigDecimal(resultArray[1]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

System.out.println("平局局数为:" + resultArray[2] + ",平局率为:" +

new BigDecimal(resultArray[2]).multiply(new BigDecimal(100).divide(new BigDecimal(sum), 2, BigDecimal.ROUND_HALF_UP)) + "%");

}

//0-石头 1-剪刀 2-布

//return 0:平局 1:p1获胜 -1:p2获胜

private static int pk(Player p1, Player p2) {

System.out.println("--------------------");

int a = p1.guess();

int b = p2.guess();

System.out.print("\n对局结果:");

//出拳相同平局

if (a == b) {

System.out.println("平局");

return 0;

}

//p1获胜条件:p1出石头时p2出剪刀,p1出剪刀时p2出步,p1出布时p2出石头

else if ((a == 0 b == 1) || (a == 1 b == 2) || (a == 2 b == 0)) {

System.out.println("选手[" + p1.getPlayerName() + "]获胜");

return 1;

}

//p2获胜条件:p1出石头时p2出布,p1出剪刀时p2出石头,p1出布时p2出剪刀

else if ((a == 0 b == 2) || (a == 1 b == 0) || (a == 2 b == 1)) {

System.out.println("选手[" + p2.getPlayerName() + "]获胜");

return -1;

} else {

//因为规定了随机数产生0、1、2,所以其实不会走到本分支

throw new IllegalArgumentException("本局无效");

}

}

}

对局5局的运行结果:

我这里就只能统计当前游戏的数据了,如果你想统计多局游戏总的胜率信息,那么需要将每一局的比赛结果写到txt文件里,最终根据txt文件内容统计即可。

求助java设计 - 企业员工工资管理系统的源代码和运行效果截图

作为一个学生,需要增强自己的动手能力哦,不然这样的设计会变得毫无用处。下面这个可以学习下

网页链接


本文标题:Java统计代码运行图 java生成统计图表
文章分享:http://scyanting.com/article/docsegp.html