小编azr*_*zro的帖子

如何在java中替换现有文本文件中的单词

我想将一个单词替换为现有文本文件中的另一个单词.我认为我的代码是正确的,但每当我运行程序时,所有文本都会在文本文件中被删除.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
    public static void main(String ar[]) throws IOException{

         String getText, putText;
         File f = new File("Test.txt");
         FileReader fr ;
         BufferedReader br ;
         BufferedWriter bw;
         if(f.exists()){
             try{
                 fr = new FileReader(f);
                 br = new BufferedReader(fr);
                 bw = new BufferedWriter(new FileWriter(f));
                 while((getText = br.readLine()) != null){
                     System.out.println(getText);
                     if(getText != null){
                         putText = getText.replaceFirst("Dog", "Cat");
                         bw.write(putText);
                     }   
                 }
                bw.close();
                br.close();
             }
             catch(IOException e){
                 e.printStackTrace();
             }
         }else{ …
Run Code Online (Sandbox Code Playgroud)

java file ioexception filereader bufferedreader

1
推荐指数
1
解决办法
781
查看次数

1
推荐指数
1
解决办法
3619
查看次数

我们是否必须为放在hashmap中的枚举重写equals/hashcode

我有一个枚举类如下.

public enum Item {
   COKE("Coke", 25), PEPSI("Pepsi", 35), SODA("Soda", 45);
   private String name;
   private int price;

private Item(String name, int price) {
    this.name = name;
    this.price = price;
}

public String getName() {
    return name;
}

public long getPrice() {
    return price;
}
}
Run Code Online (Sandbox Code Playgroud)

以及如下定义的散列映射

private Map<Item, Integer> inventory = new HashMap<Item, Integer>();
Run Code Online (Sandbox Code Playgroud)

我是否需要重写了hashCode和枚举等于Iteminventory.put()inventory.get()正常工作?如果没有,为什么?

java hash equals hashmap hashcode

1
推荐指数
1
解决办法
1786
查看次数

冒泡排序没有正确排序 - Java

我一直试图用Java中的一个简单的冒泡排序方法来工作,我看不出它为什么不起作用的问题.我希望数组中的最低元素是第一个,最后一个是最高元素.在这里,我给已经排序的数组赋值方法[1, 2, 3, 4].

输出是一个数组[1, 3, 2, 4]- 所以它排序的东西,虽然它不应该.有人看到了这个问题吗?

import java.util.Arrays;

public class BubbleSort {
    public static int [] bubblesortMethode(int sortMe[])
    {
        int nrOfSwaps = 0;

        for (int i = 0; i < sortMe.length - 1; i++)  {
            for (int j = 1; j < sortMe.length; j++) {
                if(sortMe[i] > sortMe[j]){
                    int temp  = sortMe[j];
                    sortMe[j] = sortMe[i];
                    sortMe[i] = temp;
                }
            }
            nrOfSwaps++;
        }
        System.out.println("Number of swaps" + " " + nrOfSwaps);
        return sortMe;
    } …
Run Code Online (Sandbox Code Playgroud)

java arrays sorting for-loop bubble-sort

1
推荐指数
1
解决办法
183
查看次数

用于自动格式化代码以匹配 google checkstyle 的 Maven 插件?

我在 Intellij 中使用 google checkstyle:https : //github.com/google/styleguide

当我在 IntelliJ 中进行任何编码期间进行格式化时,我运行了这个 eclipse checkstyle,它似乎工作正常。我想要一个 Maven 阶段,每当我运行mvn clean install.

我正在使用以下插件:

<plugin>
    <groupId>net.revelc.code.formatter</groupId>
    <artifactId>formatter-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>format</goal>
            </goals>
            <configuration>
                <configFile>src/main/resources/eclipse-java-google-style.xml</configFile>
                <encoding>UTF-8</encoding>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

不幸的是,它似乎没有正确注册该配置文件。我想知道获取正确的 checkstyle 配置的最佳经验法则是什么。我把它放在哪里以及如何在我的 POM 中表示它?

java checkstyle maven

1
推荐指数
1
解决办法
7263
查看次数

while循环用分号java

为什么我们;在它之后使用带分号()的while循环?

我以此代码为例:

public static void Register()
{String name,code;
int posStudent,posCourse;
System.out.println("-----------------------------------------------");
System.out.println("Enter the name of the student");
name=in.next();

while ((posStudent=VerifyTheStudentName(name))==-1);

System.out.println("-----------------------------------------------");
System.out.println("The list of available courses is:");
for(int i=0;i<courses.size();i++)
    System.out.println(courses.get(i));
System.out.println("-----------------------------------------------");
System.out.println("Enter the course code");
code=in.next();
while((posCourse=VerifyTheCourseCode(code))==-1);
students.get(posStudent).registerTo(courses.get(posCourse));
}
Run Code Online (Sandbox Code Playgroud)

那么这里做什么呢?

java while-loop

1
推荐指数
1
解决办法
628
查看次数

如何查找我的对象是否扩展了给定的抽象类?

我有主要课程

public class Main(){
   public static void main(String[] args){
      ArrayList<A> as = new ArrayList<>();
      C c = new C();
      D d = new D();
      E e = new E();

      as.add(c);
      as.add(d);
      as.add(e);

      for(A a : as){
         a.print(); // want to do it conditionally when Object inside list have extended class B
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

方法print()从抽象类A扩展.类C和D扩展类B和B扩展A.

    A
  /   \
  B    E
 / \
C   D
Run Code Online (Sandbox Code Playgroud)

我该怎么做这种方法?

尝试:

for(A a : as){
   if(a.getClass().getSuperclass().getSimpleName().equals("B")){
      a.print(); // Doesn't work a.getClass().getSuperclass().getSimpleName() prints A
   }
} …
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
74
查看次数

如何使用findAny()而不返回null

我想知道如果我findAny()没有发现任何巧合,我可以在数据流中使用它,它不会返回null.

String CountryFinal= "Spain";
List<ParContriesTO> listContries= new ArrayList<SelectItem>();
listContries.add(new SelectItem(215, "Germany"));
Integer idCountry = (int) listContries.stream()
                    .filter(country -> country.getNoCountry().equals(CountryFinal))
                    .findAny().orElse(null).getCoCountry();
Run Code Online (Sandbox Code Playgroud)

java arrays list arraylist java-stream

1
推荐指数
1
解决办法
1195
查看次数

在Java中将字符串日期转换为ISO日期格式“ 2019-07-01T03:50:00.000Z”

如何将Mon Jul 01 08:00:00 IST 2019字符串类型的日期“ ” 转换为ISODate“ 2019-07-01T03:00:00.000Z”?

java time spring datetime jodatime

1
推荐指数
1
解决办法
1076
查看次数

整数太大或长数太大

嗨,我无法理解为什么这不起作用

public class TeacherDemo {

    String name,gender;
    int phone;

        TeacherDemo teacher1 = new TeacherDemo();

        teacher1.name = "KM Tareq Mahmud";
        teacher1.gender = "Male";
        teacher1.phone = 01748714117;
Run Code Online (Sandbox Code Playgroud)

当我在那里运行显示错误的代码时:java:整数太大。

那么如何使用整数或长号输入电话号码?我也试过 long 变量 btw 发生同样的错误,那里显示 long 数字太大。

java

1
推荐指数
1
解决办法
95
查看次数