java编写将一串字符串中的奇数位提出来相加并且偶数位每个数相加

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

java编写将一串字符串中的奇数位提出来相加并且偶数位每个
数相加
java编写将一串字符串中的奇数位提出来相加并且偶数位每个数相加String s="123456789012";
int s1=0;
int s2=0;
for(int i=0;i<s.length();i++){
if(i%2==0){
s1+=Integer.parseInt(s.substring(i,i+1);
} else
s2+=Integer.parseInt(s.substring(i,i+1);
}
php 字符串奇数相加
$jishu=0;$oushu=0;for($i=0;$i<strlen($str);$i++){ if(($i+1)% 2==0)
$i是从0开始,但是字符串的奇,偶位数是从1开始,所以用$i+1来判断当前是奇数位还是偶数位{ $oushu+=$str[$i]; } else { $jishu+=$str[$i]; }}echo "jishu sum=".$jishu.", oushu sum=".$oushu;
java 提出字符串中的数字并相加
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
int result = 0;
for (int i = 0; i < line.length(); i++) {
if (Character.isDigit(line.charAt(i))) {
result = result + Integer.parseInt(line.charAt(i) + "");
}
}
System.out.print(result);
}
}
例:输入:123
输出:6
兼容字符串中存在字母的情况:
输入:12ab3
输出:6
java 任意自然数以字符串形式为参数输入,将奇数位和偶数位的个数
分别组合再相加输出。

求代码!
public class Test { /** * @param args */ public static void main(String[] args) { Test obj = new Test(); int sum = obj.add("112224"); System.out.println(sum); } public int add(String str){ String odd = ""; String even = ""; for(int
i=0;i<str.length();i++){ if(i % 2 == 0){ even += str.charAt(i); }else{ odd += str.charAt(i); } } return Integer.parseInt(odd) + Integer.parseInt(even); }}
用Java实现:有字符串“1234567890123”,求出该字符串中奇数
位和偶数位各数字的和
这种入门的算法就不用别人教了吧
public static void main(String[] args) {
String s = "1234";
int sun1 = 0;
int sun2 = 0;
for(int i=0; i<s.length(); i++){
int tmp = Integer.parseInt(s.charAt(i) + "");
if(i % 2 == 0){
sun1 += tmp;
}else{
sun2 += tmp;
}
}
System.out.println("奇数: " + sun1);
System.out.println("偶数: " + sun2);
}
delphi7 如何截取一段字符串的奇数位和偶数位的字符?
var str:string;
odd_sum,eve_sum,i:integer;
begin
str:='123456789'; odd_sum:=0;odd_sum:=0;
for i := 1 to length(str) do
begin
if i mod 2=1 then odd_sum:=odd_sum+strtoint(str[i])
else eve_sum:=eve_sum+strtoint(str[i]);
end;
showmessage(str+'偶数位和为'+inttostr(eve_sum)+',奇数和为'+inttostr(odd_sum));
end;
题目将字符串s中位于奇数位置的字符或ASCII码为偶数的字符放入字符串t中
#include <stdio.h>#include <string.h>#define N 80main(){ char s[N], t[N]; int i,j=0,k=0; printf("\nPlease enter string s : "); gets(s);/***********ERROR***********/ while(s[j]) j++; for(i=0;i<j;i++)/***********ERROR***********/ if(i%2||s[i]%2==0) 这一行没什么问题t[k++]=s[i];/***********ERROR***********/ t[k]=0; printf("\nThe result is: %s\n",t);}
用java编写程序:求从控制台输入一个整数字符串,求他的偶数位和奇
数位的和
package tx.w;
import java.util.Scanner;
/**
从控制台输入一串整数,分别求出该整数的偶数位个奇数位之和*/
public class HomeWork1
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("输入数字串");
String str=sc.next();从控制台获取整数数字串
int length=str.length();获得字符串长度
int a = 0;
int b = 0;
for (int i=0;i<length ;i++ ){
if(i%2==0){
char c=str.charAt(i);截取字符串中偶数字符
int x=c-'0';将截取的字符转换为对应的整数
a+=x;
}else{
char d=str.charAt(i);截取字符串中奇数数字
int y=d-'0';将截取的字符转换为对应的整数
b+=y;
}
}
System.out.println("a="+a);
System.out.println("b="+b);
}
}
运行结果:
输入数字串
123456789
a=25
b=20
java中的字符串相加
首先你要搞清楚的是字符串用==比较,是比较两个字符串是不是指向同一个对象。

程序在运行的时候会创建一个字符串缓冲池,程序会把字符串常量(如程序中的"a","b","ab","a"+"b")放入字符串缓冲池中(这里"ab","a"+"b"是一个对象)。

当使用
String s3 = "ab";
String s4 = s1 + s2;
String s5 = "a" + "b";
这样的表达是创建字符串的时候,程序首先会在这个String缓冲池中寻找相同值的对象,s3先被放到了池中,所以在s5被创建的时候,程序找到了具有相同值的 s3,将s5引用s3所引用的对象"ab"。

所以比较s5==s3由于两个是指向同一个对象,所以为true。

但是在这些赋值中,涉及到变量运算,所以得到的字符串对象存储在各自的内存中,不是缓冲池中的s3对象,如
String s4 = s1 + s2;
String s6 = s1 + "b";
所以尽管s4,s6的值均为"ab",但是s4==s3,s6==s3返回的结果均为false;
同时s4,s6也不是指向相同的对象,因为他们在不同内存中。

StringBuffer s7 = new StringBuffer("abc");
String s8 = s7.substring(3); 这个方法是从第3个字符取字符串,得到的s8为"'; 为空字符串。

所以s8==s3的结果也为false;
如果相比较两个字符串的值是不是相等,最好用.equals()方法。

JAVA实现输入字符串返回字符串中的奇数位的字符
import java.io.InputStream;
import java.util.Scanner;
public class Main2 {
public static String subString(String s){
if(s == null){
throw new NullPointerException("空字符串");
}
使用StringBuffer效率比String高
StringBuffer buffer = new StringBuffer();
int n = s.length();
for(int i = 0; i < n; i++){
因为索引是从0开始,所以索引为偶数的是奇数位字符
if(i % 2 == 0){
buffer.append(s.charAt(i));
}
}
return buffer.toString();
}
public static void main(String[] args) {
System.out.println("输入数据:");
InputStream input = System.in;
Scanner scanner = new Scanner(input);
String s = scanner.nextLine();
System.out.println(Main2.subString(s));
}
}。

相关文档
最新文档