R文件无故消失,郁闷惨了,搜集了一些解决的方法 :
1.重新Build Project
2.clean 一下项目
3.Android Tools——>Fix Project Properties
4.从别的工程中拷贝一份R文件过来 然后string.xml里随便改动一下 即可更新R文件
如果上述方法还不行,好好检查一下resoure资源中的文件 命名
比如需要全部小写不能有大写字母,不能有空格,一般都是文件名字的问题
报表的数据来源大部分来自数据库,正常情况润乾报表都能自动处理,但是也会有特殊的情况,例如通过中间件连接数据库而非直连?通过业务程序算出的数据传递给报表进行展现等等。因此需要用户自定义数据集,我们看一个例子。
我们的数据源有可能来源于业务处理的中间值,不是从数据库中取到的。
以下是尝试自定义数据源的方案:
package test.runqian; import java.sql.Connection; import java.util.Iterator; import java.util.Map; import org.apache.log4j.Logger; import com.runqian.report4.dataset.DataSet; import com.runqian.report4.dataset.IDataSetFactory; import com.runqian.report4.dataset.Row; import com.runqian.report4.usermodel.Context; import com.runqian.report4.usermodel.CustomDataSetConfig; import com.runqian.report4.usermodel.DataSetConfig; public class MyDataSet implements IDataSetFactory { private Logger logger = Logger.getLogger(MyDataSet.class); /*************************************************************************** * @param ctx : * 报表的运行上下文 * @param dsf : * 数据集配置 * @param isinput : * 是否检索出数据,若为false则不取出数据,只产生数据集的结果 **************************************************************************/ public DataSet createDataSet(Context ctx, DataSetConfig dsf, boolean isinput) { // TODO Auto-generated method stub logger.info("AAAAA"); // 获取系统数据源 String dataSourceName = dsf.getDataSourceName(); if (null == dataSourceName || "".equals(dataSourceName)) { // 判断用户是否对数据源设置了名称,否则,则直接读取默认数据源 dataSourceName = ctx.getDefDataSourceName(); } Connection conn; try { conn = ctx.getConnectionFactory(dataSourceName).getConnection(); logger.info("得到的数据源名称:" + conn); conn.close(); } catch (Exception e) { e.printStackTrace(); } // 取得参数列表并分别取得它的参数名与值,宏与之类似 Map map = ctx.getParamMap(false); if (null != map) { Iterator iterator = map.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.
你一定听过田忌赛马的故事吧?
如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子,输一局,田忌就要输掉200两银子,平局的话不输不赢。 请问田忌最多能赢多少银子?
关于输入:
输入包含多组测试数据,每组测试数据的第一行是一个整数n(1<=n<=1000),表示田忌和齐王都拥有n匹马。接下来一行是n个整数,表示田忌的马的速度,下一行也是n个整数,表示齐王的马的速度。 输入的最后以一个0表示结束。
关于输出:
对每组数据,输出一个整数,表示田忌至多可以赢多少银子,如果田忌赢不了,就输出一个负数,表示田忌最少要输多少银子。
//
// main.m
// tanxin
//
// Created by zhangmingwei on 13-1-11.
// Copyright (c) 2013年 zhangmingwei. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
//求a中有多少比b中好的。如果a好于b则a加1分,相等分数为0 ,坏于b则减1分。因为如果相等的话,为了分数更多,也应该让这次分数为0
int b[10]={1,3,4,5,7,8,9,34,56,77};
int a[10]={2,2,6,7,7,9,11,22,44,56};
// int b[4]={4,7,9,12};
// int a[4]={3,6,8,9};
int m=0;//a的分数
int j=0;
int count1,count2;
count1=count2=10;
for (int i=0; i<count1;) {
if (a[i]>b[j]) {
m++;
i++;
j++;
}
else if (a[count1-1]>b[count2-1]) {
m++;
count1--;
count2--;
}
else if(a[i]==b[j]){
i++;
j++;
}
else if(a[count1-1]==b[count2-1]){
count1--;
count2--;
}
else{
m--;
i++;
count2--;
}
}
NSLog(@"a的得分为====%d",m);
}
return 0;
}
已有 0 人发表留言,猛击->>这里<<-参与讨论
ITeye推荐
- —软件人才免语言低担保 赴美带薪读研!—