【发布时间】:2019-02-20 16:24:56
【问题描述】:
如何拆分用户作为输入提供的car 和color 中的type。
输入格式为:
<Type>#<Color>
输出将显示有多少类型的汽车具有相同的color
输入示例:
how many cars : 10
sedan#red
truck#yellow
van#white
suv#black
sedan#black
roadster#red
suv#gray
coupe#gray
minivan#white
truck#red
输出必须按字母顺序排序
black 2
gray 2
red 3
white 2
yellow 1
尝试了一个示例代码,仍然没有完成,但是对于如何拆分数组T^T
Class1:
public class Class1 {
private String type ;
private String color;
private String format;
public Class1() {
this.type = "";
this.color = "";
this.format = "";
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
public void split () {
String part[] = format.split("#");
setType(part[0]);
setColor(part[1]); // i don't know if this will work or not..
}
}
Class2:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Class2 {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
int n ;
String format ;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
Class1 [] dataArray = new Class1[n] ;
Class1 data = new Class1();
for(int a = 0 ; a <= dataArray.length ; a++) {
dataArray[a] = data;
data.setFormat(br.readLine());
data.split();
data.getType();
data.getColor();
}
}
}
编码还没完成,还不知道怎么拆分数组。请帮我解决这个问题!
【问题讨论】:
-
如果您的输入严格来说是
type#color,则只需检查str.indexOf("#color")和count++ 是否为相同颜色。 -
你试过运行这个sn-p吗?它产生了错误的结果吗?
-
旁注:如果您将 Class1 重命名为 Car 并将 Class2 重命名为 CarColorCounter,您的代码会更容易理解。不过,其余的看起来已经很棒了。
标签: java arrays sorting input split