
正文
JAVA语言修改的代码 java代码改了不起作用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Java语言编写代码
代码如下
/**
* Author: zhyx
* Date:2017/11/30
* Time:8:56
*/
public abstract class Contailner {
double r;
abstract double volume();
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:8:57
*/
public class Cube extends Contailner {
public Cube(double r) {
this.r=r;
}
@Override
double volume() {
return r*r*r;
}
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:9:01
*/
public class Sphere extends Contailner {
public Sphere(double r) {
this.r=r;
}
@Override
double volume() {
return 4/3*Math.PI*r*r*r;
}
}
/**
* Author: zhyx
* Date:2017/11/30
* Time:9:02
*/
public class Tiji {
public static void main(String[] args) {
Cube cube=new Cube(4);
System.out.println("立方体体积为:"+cube.volume());
Sphere sphere= new Sphere(4);
System.out.println("球体体积为:"+sphere.volume());
}
}
相关问答
Q1: JAVA语言 按我这个代码编下去 不会四舍五入 要改什么
知识点1:
java中直接书写的小数, 默认是double类型
如果要表达是浮点类型的小数, 要在小数后面跟上字母f或者F .为了更加明显的看清楚,建议在小数后面添加大写字母F
double d = 3.14; //默认double类型
float f = 3.14F;
double
知识点2: 四舍五入和保留小数的问题, 一般使用String.format()方法来实现
参考代码
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//double 32位, float 16位
double d1 = 1.5F;// 小范围的float的值,可以直接赋值给大范围的double
float f1 = (float) 1.3; //大范围的double,转成小范围的float,需要强制转换
System.out.println("请输入半径:");// 进行友好的提示
Scanner sc = new Scanner(System.in);
float r = sc.nextFloat();
float s = 3.14F * r * r;
// 直接写3.14 那么是double类型.
// 解决办法3.14后面加1个字母f或者F,表示float类型的数字
// 四舍五入,保留2为小数
String str1 = String.format("%.2f", s);// 2代表小数点后面的位数, 不足补0 . f代表,后面的数据s是浮点类型
System.out.println("圆的面积是:" + str1);
}
}
输出
请输入半径:
10
圆的面积是:314.00
Q2: 用JAVA语言设计一个类,统计一篇英文文章的词频,并按照词频由高到低输出。修改下面代码就行了。
这题目如果能增加一个类的话会高效很多。。。如果非要在这个框框里面,代码麻烦 效率低下呢。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Article {
//保存文章的内容
String content;
//保存分割后的单词集合
String[] rawWords;
//保存统计后的单词集合
String[] words;
//保存单词对应的词频
int[] wordFreqs;
//构造函数,输入文章内容
//提高部分:从文件中读取
public Article() {
content = "kolya is one of the richest films i've seen in some time . zdenek sverak plays a confirmed old bachelor ( who's likely to remain so ) , who finds his life as a czech cellist increasingly impacted by the five-year old boy that he's taking care of . though it ends rather abruptly-- and i'm whining , 'cause i wanted to spend more time with these characters-- the acting , writing , and production values are as high as , if not higher than , comparable american dramas . this father-and-son delight-- sverak also wrote the script , while his son , jan , directed-- won a golden globe for best foreign language film and , a couple days after i saw it , walked away an oscar . in czech and russian , with english subtitles . ";
}
//对文章根据分隔符进行分词,将结果保存到rawWords数组中
public void splitWord(){
//分词的时候,因为标点符号不参与,所以所有的符号全部替换为空格
final char SPACE = ' ';
content = content.replace('\'', SPACE).replace(',', SPACE).replace('.', SPACE);
content = content.replace('(', SPACE).replace(')', SPACE).replace('-', SPACE);
rawWords = content.split("\\s+");//凡是空格隔开的都算单词,上面替换了', 所以I've 被分成2个 //单词
}
//统计词,遍历数组
public void countWordFreq() {
//将所有出现的字符串放入唯一的set中,不用map,是因为map寻找效率太低了
SetString set = new TreeSetString();
for(String word: rawWords){
set.add(word);
}
Iterator ite = set.iterator();
ListString wordsList = new ArrayListString();
ListInteger freqList = new ArrayListInteger();
//多少个字符串未知,所以用list来保存先
while(ite.hasNext()){
String word = (String) ite.next();
int count = 0;//统计相同字符串的个数
for(String str: rawWords){
if(str.equals(word)){
count++;
}
}
wordsList.add(word);
freqList.add(count++);
}
//存入数组当中
words = wordsList.toArray(new String[0]);
wordFreqs = new int[freqList.size()];
for(int i = 0; i freqList.size(); i++){
wordFreqs[i] = freqList.get(i);
}
}
//根据词频,将词数组和词频数组进行降序排序
public void sort() {
class Word{
private String word;
private int freq;
public Word(String word, int freq){
this.word = word;
this.freq = freq;
}
}
//注意:此处排序,1)首先按照词频降序排列, 2)如果词频相同,按照字母降序排列,
//如 'abc' 'ab' 'aa'
class WordComparator implements Comparator{
public int compare(Object o1, Object o2) {
Word word1 = (Word) o1;
Word word2 = (Word) o2;
if(word1.freq word2.freq){
return 1;
}else if(word1.freq word2.freq){
return -1;
}else{
int len1 = word1.word.trim().length();
int len2 = word2.word.trim().length();
String min = len1 len2? word2.word: word1.word;
String max = len1 len2? word1.word: word2.word;
for(int i = 0; i min.length(); i++){
if(min.charAt(i) max.charAt(i)){
return 1;
}
}
return 1;
}
}
}
List wordList = new ArrayListWord();
for(int i = 0; i words.length; i++){
wordList.add(new Word(words[i], wordFreqs[i]));
}
Collections.sort(wordList, new WordComparator());
for(int i = 0; i wordList.size(); i++){
Word wor = (Word) wordList.get(i);
words[i] = wor.word;
wordFreqs[i] = wor.freq;
}
}
//将排序结果输出
public void printResult() {
System.out.println("Total " + words.length + " different words in the content!");
for(int i = 0; i words.length; i++){
System.out.println(wordFreqs[i] + " " + words[i]);
}
}
//测试类的功能
public static void main(String[] args) {
Article a = new Article();
a.splitWord();
a.countWordFreq();
a.sort();
a.printResult();
}
}
-----------------------
Total 99 different words in the content!
5 and
4 the
4 i
4 a
3 as
2 with
2 who
2 to
2 time
2 sverak
2 son
2 s
2 old
2 of
2 it
2 in
2 his
2 czech
1 zdenek
1 year
1 wrote
1 writing
1 won
1 whining
1 while
1 wanted
1 walked
1 ve
1 values
1 though
1 this
1 these
1 that
1 than
1 taking
1 subtitles
1 spend
1 some
1 so
1 seen
1 script
1 saw
1 russian
1 richest
1 remain
1 rather
1 production
1 plays
1 oscar
1 one
1 not
1 more
1 m
1 likely
1 life
1 language
1 kolya
1 jan
1 is
1 increasingly
1 impacted
1 if
1 higher
1 high
1 he
1 golden
1 globe
1 foreign
1 for
1 five
1 finds
1 films
1 film
1 father
1 english
1 ends
1 dramas
1 directed
1 delight
1 days
1 couple
1 confirmed
1 comparable
1 characters
1 cellist
1 cause
1 care
1 by
1 boy
1 best
1 bachelor
1 away
1 are
1 an
1 american
1 also
1 after
1 acting
1 abruptly
JAVA语言修改的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码改了不起作用、JAVA语言修改的代码的信息别忘了在本站进行查找喔。







