Java 打印特定内容(如果是';这是印刷的第一件、第二件和最后一件东西
我如何编写代码,以便在打印两个东西时,它们之间有一个“and”,如果是打印的元素,则有一个“and”,如下所示: “1张100美元钞票和2张200美元钞票”“1张100美元钞票、2张200美元钞票和4张10美元钞票”Java 打印特定内容(如果是';这是印刷的第一件、第二件和最后一件东西,java,arrays,Java,Arrays,我如何编写代码,以便在打印两个东西时,它们之间有一个“and”,如果是打印的元素,则有一个“and”,如下所示: “1张100美元钞票和2张200美元钞票”“1张100美元钞票、2张200美元钞票和4张10美元钞票” 公共级卡萨{ 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 扫描仪输入=新扫描仪(System.in); 扫描仪输入=新扫描仪(System.in); Scanner betalsumma=新扫描仪(System.in); int-belop
公共级卡萨{
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(System.in);
扫描仪输入=新扫描仪(System.in);
Scanner betalsumma=新扫描仪(System.in);
int-belopp,rest,summa,pris,v=0,antalsedlar=0,antalvarv=0;
字符串tu=“tusenlapp”,fh=“femmundralapp”,th=“tvahundralapp”,eh=“enhundralapp”,
ft=“femtiolapp”,tj=“tjugolapp”,ti=“tiokronors mynt”,f=“femkronorsmynt”,t=“tvakronorsmynt”,
et=“enkronorsmynt”;
字符串pengar[]={tu,fh,th,eh,ft,tj,ti,f,t,et};
int sedlar[]={1000、500、200、100、50、20、10、5、2、1};
System.out.println(“我的朋友是谁?”);
belopp=pengarinput.nextInt();
System.out.println(“Hur mycket kostar varan?”);
pris=prisinput.nextInt();
rest=belopp-pris;
while(rest>0){
如果(rest>=sedlar[v]){
对于(int i=0;i=20){
系统输出打印(antalsedlar+“st”+pengar[v]+“ar”+“,”);
}
否则{
系统输出打印(antalsedlar+“st”+pengar[v]+“+”,”;
}
}
}
}
}
否则{
antalsedlar=0;
v++;
}
}
如果(pris>belopp){
System.out.println(“Du har inte råd!”);
}
}
}
使用StringBuilder和基本条件。在下面,我们连接一个字符串数组,但您可以将其推广到任何可以生成字符串的类型
public String concat(String[] values) {
if (null == values) return "null";
if (values.length == 0) return "";
StringBuilder sb = new StringBuilder(values[0].trim());
for (int index = 1 ; index < values.length ; ++index) {
String op = index < (values.length - 1) ? ", " : " and ";
sb.append(op).append(values[index].trim());
}
return sb.toString();
}
公共字符串concat(字符串[]值){
if(null==值)返回“null”;
如果(values.length==0)返回“”;
StringBuilder sb=新的StringBuilder(值[0].trim());
对于(int index=1;index
使用StringBuilder和基本条件。在下面,我们连接一个字符串数组,但您可以将其推广到任何可以生成字符串的类型
public String concat(String[] values) {
if (null == values) return "null";
if (values.length == 0) return "";
StringBuilder sb = new StringBuilder(values[0].trim());
for (int index = 1 ; index < values.length ; ++index) {
String op = index < (values.length - 1) ? ", " : " and ";
sb.append(op).append(values[index].trim());
}
return sb.toString();
}
公共字符串concat(字符串[]值){
if(null==值)返回“null”;
如果(values.length==0)返回“”;
StringBuilder sb=新的StringBuilder(值[0].trim());
对于(int index=1;index
无论您的代码如何难以阅读和破译,我都为您提供了两种撰写此类句子的方法。假设存在初始数组,例如:
String[] array = {"1100 USD", "2200USD", "3300 USD", "4400 USD"};
现在,解决方案要求数组中至少有一项:
使用StringBuilder
和进行循环
迭代:
StringBuilder sb = new StringBuilder(); // initialize StringBuilder
if (array.length == 1) { // special case of one element
sb.append(array[0]);
} else { // or 2+ elements
for (int i = 0; i < array.length - 1; i++) { // iterate all of them except the last one
sb.append(array[i]); // ... always append an item
if (i < array.length - 2) { // ... if is not the last one, append ','
sb.append(", ");
} else { // ... else append 'and' delimiter
sb.append(" and ");
}
}
sb.append(array[array.length - 1]); // finally append the remaining item
}
String sentence = sb.toString(); // composed sentence from StringBuilder
这可以打包成更紧凑、更可读的内容:
StringBuilder sb = new StringBuilder();
if (array.length == 1) {
sb.append(array[0]);
} else {
String initialSentence = String.join(", ", Arrays.copyOfRange(array, 0, array.length - 1));
sb.append(initialSentence).append(" and ").append(array[array.length - 1]);
}
String sentence = sb.toString();
不管你的代码很难阅读和破译,我提供两种方法来组成这样的句子。假设存在初始数组,例如:
String[] array = {"1100 USD", "2200USD", "3300 USD", "4400 USD"};
现在,解决方案要求数组中至少有一项:
使用StringBuilder
和进行循环
迭代:
StringBuilder sb = new StringBuilder(); // initialize StringBuilder
if (array.length == 1) { // special case of one element
sb.append(array[0]);
} else { // or 2+ elements
for (int i = 0; i < array.length - 1; i++) { // iterate all of them except the last one
sb.append(array[i]); // ... always append an item
if (i < array.length - 2) { // ... if is not the last one, append ','
sb.append(", ");
} else { // ... else append 'and' delimiter
sb.append(" and ");
}
}
sb.append(array[array.length - 1]); // finally append the remaining item
}
String sentence = sb.toString(); // composed sentence from StringBuilder
这可以打包成更紧凑、更可读的内容:
StringBuilder sb = new StringBuilder();
if (array.length == 1) {
sb.append(array[0]);
} else {
String initialSentence = String.join(", ", Arrays.copyOfRange(array, 0, array.length - 1));
sb.append(initialSentence).append(" and ").append(array[array.length - 1]);
}
String sentence = sb.toString();
请注意,不需要使用三个扫描仪。您可以在同一个实例上多次调用nextInt()
;类名称应该用PascalCase编写。注意,不需要使用三个Scanner
s。您可以在同一个实例上多次调用nextInt()
;类名应该用PascalCase写。