小编RAG*_*AMM的帖子

使用Firebase Admin SDK从Firebase实时数据库获取信息

我试图从Firebase实时数据库中获取一些信息但没有成功.我不知道我做错了什么.我也尝试了doc的例子但它们没有用.这是我的代码和我的firebase db结构:

数据库结构

Topics.java:

public class Topics {

 private String name;

 public Topics() {

 }

 public Topics(String name) {
    this.name = name;
 }

 public String getName() {
    return name;
 }

 public void setName(String name) {
    this.name = name;
 }

}
Run Code Online (Sandbox Code Playgroud)

Main.java

public static void main(String[] args) {
    // TODO Auto-generated method stub
    FileInputStream serviceAccount;
    FirebaseOptions options = null;
    try {
        serviceAccount = new FileInputStream(".//...");
        options = new FirebaseOptions.Builder()
                .setCredentials(GoogleCredentials.fromStream(serviceAccount))
                .setDatabaseUrl("...")
                .build();

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block …
Run Code Online (Sandbox Code Playgroud)

java firebase firebase-realtime-database

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

为什么Scala'String'对象的迭代器和'List [Int]'对象的迭代器在这里表现不同?

我只是想在REPL中探索String对象和List[Int]对象的迭代器的行为,测试如下所示:

scala> val list = List(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
list: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)

scala> val itL = list.iterator
itL: Iterator[Int] = non-empty iterator

scala> List(8,5,list.size-13).map(itL.take(_).mkString)
res85: List[String] = List(12345678, 910111213, 141516)

scala> val st = "abcdefghijklmnop"
st: String = abcdefghijklmnop

scala> val itS = st.iterator
itS: Iterator[Char] = non-empty iterator

scala> List(8,5,st.size-13).map(itS.take(_).mkString)
res84: List[String] = List(abcdefgh, abcde, abc)
Run Code Online (Sandbox Code Playgroud)

为什么迭代器的行为不同?在String对象的情况下我的预期输出是:

List[String] = List(abcdefgh, …
Run Code Online (Sandbox Code Playgroud)

string scala scala-collections

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

字谜 - 如何通过以下两个测试用例

这是我的代码,两个字符串是否是字谜

static boolean isAnagram(String a, String b) {
    if (a.length() != b.length()) return false;
    a = a.toLowerCase();
    b = b.toLowerCase();
    int m1=0;
    for(int i=0;i<a.length();i++){
        m1 += (int)a.charAt(i);
        m1 -= (int)b.charAt(i);

    }
        return m1==0;
}
Run Code Online (Sandbox Code Playgroud)

我的代码在两个测试用例中失败了

  • 案例1:String a="xyzw";String b="xyxy";
  • 案例2:String a="bbcc";String b="dabc";

谁能帮助我通过上述两个案件?

java string char anagram

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

SCALA:BigInt 平方根的函数

我在互联网上搜索了一个函数来使用 Scala 编程语言找到 BigInt 的精确平方根。我没有得到,但看到了一个 Java 程序,我将该函数转换为 Scala 版本。它正在工作,但我不确定它是否可以处理非常大的 BigInt。但它只返回 BigInt。不是 BigDecimal 作为平方根。它表明在代码中进行了一些位操作,并使用了一些数字的硬编码,例如shiftRight(5), BigInt("8") and shiftRight(1). 我可以清楚地理解逻辑,但不是这些位移数字和数字 8 的硬编码。可能是这些位移功能在 Scala 中不可用,这就是为什么需要在少数地方转换为 java BigInteger 的原因。这些硬编码的数字可能会影响结果的精度。我只是将 java 代码更改为 Scala 代码,只是复制了确切的算法。这是我在 Scala 中编写的代码:

   def sqt(n:BigInt):BigInt = {
      var a = BigInt(1)
      var b = (n>>5)+BigInt(8)
      while((b-a) >= 0) {
          var mid:BigInt = (a+b)>>1
          if(mid*mid-n> 0) b = mid-1
          else a = mid+1
         }
      a-1
   }
Run Code Online (Sandbox Code Playgroud)

我的要点是:

  1. 我们不能返回 BigDecimal 而不是 BigInt 吗?我们怎么做?
  2. 这些硬编码数字如何shiftRight(5), shiftRight(1) and 8与结果的精度相关。

我在 Scala REPL 中测试了一个数字:该函数 …

scala square-root

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

如何在scala中写入csv文件?

我正在尝试将数据写入 csv 文件,我创建了四列

val csvFields = Array("Serial Number", "Record Type", First File value", Second file value") ', 
Run Code Online (Sandbox Code Playgroud)

除了序列号之外,其他三个字段都是列表

Second_file_value = List ("B", "gjgbn", "fgbhjf", "dfjf")
Run Code Online (Sandbox Code Playgroud)

First_File_Value = List ("A","abhc","agch","mknk")

Record_type = List('1','2',3','4');

 val outputFile = new BufferedWriter(new FileWriter("Resulet.csv")
 val csvWriter = new CSVWriter(outputFile)
 val listOfRecords = new ListBuffer[Array[String]]()
 listOfRecords :+ csvFields
Run Code Online (Sandbox Code Playgroud)

我正在使用这个循环写入列

for ( i <- 1 until 30){
listOfRecords += Array(i.toString, Record_type , First_File_Value , Second_file_value )}
csvWriter.writeAll(listOfRecords.toList)
output.close()
Run Code Online (Sandbox Code Playgroud)

我面临的问题是 csv 文件填充了 30 行相同的值(第一行值),列表中的值没有被迭代。

任何参考文献也会有帮助

java collections scala list

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

从List [Any]到特定案例类的简洁方法

我有一个List[Any]看起来像:

val a: List[Any] = List(1, "a", "b", 2.0)
Run Code Online (Sandbox Code Playgroud)

我也有一个case class看起来像:

case class Data(field1: Int, field2: String, field3: String, field4: Double)
Run Code Online (Sandbox Code Playgroud)

我想使用以下值来实例化case class 数据a:

val d = Data(1, "a", "b", 2.0)
Run Code Online (Sandbox Code Playgroud)

我知道我可以迭代a,但是对于一个看起来很麻烦的大型列表.

scala

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

SOLID_FOREGROUND 无法解析或不是字段

SOLID_FOREGROUND cannot be resolved or is not a field

style.setFillPattern(CellStyle.SOLID_FOREGROUND);
Run Code Online (Sandbox Code Playgroud)

使用 我的3.7版本apache-poi遇到以下问题。请帮忙解决这个问题。

SOLID_FOREGROUND cannot be resolved or is not a field
Run Code Online (Sandbox Code Playgroud)

谢谢,戈瓦尔丹

java apache-poi

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