@Override public String toString() { return "Car [name=" + name + ", driver=" + driver + ", scores=" + Arrays.toString(scores) + "]"; }
时间: 2024-05-20 14:18:47 浏览: 15
这是一个 Java 中重写 `toString()` 方法的示例。当我们在打印一个对象时,系统默认调用该对象的 `toString()` 方法来获取其字符串形式的表示。而默认的 `toString()` 方法返回的是该对象的类名和内存地址,通常不太有用。因此,我们可以在自定义类中重写该方法,以返回一个更有意义的字符串。
在这个示例中,我们定义了一个 `Car` 类,包含了车名、司机和分数三个属性。重写了 `toString()` 方法,将这些属性的值以字符串的形式返回。其中,使用了 `Arrays.toString()` 来将分数数组转换为字符串。
相关问题
t1.addKeyListener(new KeyListener() { @Override // 用户如果在文本框中输入字符,则会做出响应 public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub String s1 = t1.getText().trim(); // 按照逗号分割。 String[] scores = s1.split("[, ]+"); System.out.println(Arrays.toString(scores)); // 按照/进行分割 // 创建一个数组 int[] Rotional = new int[scores.length]; for (int i = 0; i < scores.length-1; i++) { String[] coords = scores[i].split("[/ ]+"); if (coords.length > 0 && !coords[0].isEmpty()) { Rotional[i] = Integer.parseInt(coords[0]); System.out.println(Rotional[i]); } if(coords.length > 1 && !coords[1].isEmpty()){ Rotional[i+1] = Integer.parseInt(coords[1]); System.out.println(Rotional[i+1]); } System.out.println("Rotational: " + Arrays.toString(Rotional)); } }这段代码并输出rotional为什么呀
这段代码没有输出`Rotational`数组本身,而是在循环中输出了`Rotational`数组的每个元素。这是因为`Arrays.toString(Rotional)`可以将`Rotational`数组转换成一个字符串,方便输出调试信息。如果你需要输出`Rotational`数组本身,可以在循环外面添加一条输出语句,如下所示:
```
System.out.println("Rotational: " + Arrays.toString(Rotational));
```
这样就可以在循环结束后输出`Rotational`数组的所有元素。需要注意的是,这个输出语句应该放在循环外面,否则它会在每次循环中都输出一遍,导致输出结果混乱。
解释代码import java.io.IOException; import java.util.Arrays; import org.apache.hadoop.hbase.client.Mutation; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableReducer; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; public class mypreduce extends TableReducer<Text, Text, ImmutableBytesWritable> { @Override protected void reduce(Text k3, Iterable<Text> v3, Reducer<Text, Text, ImmutableBytesWritable, Mutation>.Context context) throws IOException, InterruptedException { int avg=0; for(Text i:v3){ System.out.println(k3.toString()+","+i.toString()); int sum=0; int count=0; String[] scores=i.toString().split(" "); System.out.println(Arrays.toString(scores)); //逐个将每个学生的成绩分数相加 for(String score:scores){ sum=sum+Integer.parseInt(score); count++; //System.out.println("reduce52"); } System.out.println(sum); //计算每个学生的平均分数 avg=sum/count; System.out.println(avg); } //将计算出的每个学生的平均分数添加到HBase表格中 Put put=new Put(Bytes.toBytes(k3.toString())); put.addColumn(Bytes.toBytes("avg"),null,Bytes.toBytes(String.valueOf(avg))); context.write(new ImmutableBytesWritable(Bytes.toBytes(k3.toString())), put); } }
这段代码是一个 HBase 的 Reduce 函数,将每个学生的成绩相加并计算平均分,然后将计算出的每个学生的平均分数添加到 HBase 表格中。具体来说,它继承了 HBase 的 TableReducer 类,并在 reduce 函数中实现了计算逻辑。reduce 函数的输入是一个学生的姓名和他的所有成绩(用空格隔开),输出是学生的姓名和平均分数。在计算平均分数时,代码先将所有成绩相加,再除以成绩的数量,得到平均分数。最后,将学生的姓名和平均分数添加到 HBase 表格中。